Build base image using docker-pkg in integration/config directory.
Description
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | None | T170453 FY2017/18 Program 6: Streamlined Service delivery | |||
Invalid | None | T170480 FY2017/18 Program 6 - Outcome 2: Developers are able to develop and test their applications through a unified pipeline towards production deployment. | |||
Invalid | None | T170481 FY2017/18 Program 6 - Outcome 2 - Objective 2: Set up a continuous integration and deployment pipeline | |||
Resolved | thcipriani | T193777 FY2017/18-Q4: Prove viability of testing staged service containers alongside MediaWiki extension containers | |||
Declined | None | T187105 Get MediaWiki running in Docker with Blubber | |||
Declined | None | T196414 Build Math extension container on Postmerge | |||
Declined | thcipriani | T196939 Build base image for math extension pipeline tests |
Event Timeline
Comment Actions
A summary of our chat yesterday:
You can look at the releng/quibble-stretch container for some inspiration.
- you would need composer to install the mediawiki/core dependencies. Probably using the composer.lock that comes from mediawiki/vendor . Can probably be copied from docker-registry.wikimedia.org/releng/composer
- there is a list of php extensions provided by Debian packages. In Quibble that covers all extensions that got migrated, but for Math you probably need less. I think you would need at least:
php-cli
php-curl
php-intl
php-mbstring
php-mysql
php-xml
php-zip
Maybe php-gd and imagemagick as well.
- Tidy is gone in master branch, it has been replaced by RemexHTML
- Apache might not be too complicated to integrate (ENTRYPOINT apache2 -D FOREGROUND), but probably you want to first prototype with php -S for sake of simplicity. quibble/backend.py has the few lines of logic to make it happen.
- MySQL should be in another container. quibble-stretch/mariadb.cnf has some configuration, notably:
- the collation and character set have been made to use binary instead of latin1/utf8mb4 7d740b5167e1625c690d6f59b6b0e0ac35c4694d / T193222
- It uses a strict mode to error out instead of simply warning T119371
I am not worried about the crafting the container :] Orchestrating them and getting them to get to know each other is a dark area to me but that is the Kubernetes promise as you said!