Add .pipeline/ with dev image variant
authorBrennen Bearnes <bbearnes@wikimedia.org>
Wed, 15 May 2019 00:14:11 +0000 (18:14 -0600)
committerBrennen Bearnes <bbearnes@wikimedia.org>
Tue, 24 Sep 2019 23:20:10 +0000 (17:20 -0600)
commit315df62758acb54c52f42bd3067a9ae95bcb3aa6
tree40737809b2b2bb2191bd22b54cf314834ed9d924
parente346ddb336e865e7abed30c3dd50da3ce05773e6
Add .pipeline/ with dev image variant

This adds a .pipeline/, containing:

  - blubber.yaml which, for now, defines a single variant for creating
    a Docker image to be used by the local-charts[0] environment.  This
    image is built on dev-stretch-php72-fpm-apache2, which is defined in
    dev-images[1].

  - dev_prereq.sh which installs some extensions, runs composer, and
    creates a stub LocalSettings.php in the dev image as a blubber builder
    command.

  - config.yaml for building the dev image.

This depends on publication of dev/stretch-php72-fpm-apache2 to
docker-registry.wikimedia.org:

  - https://phabricator.wikimedia.org/T223327
  - https://phabricator.wikimedia.org/T223329

It can be tested locally by:

  1. Installing Docker, blubber[2], and Minikube

  2. Building the images in dev-images with `make`

  3. Saving a copy of the dev-stretch-php72-fpm-apache2 image:

     $ docker save -o dev-stretch-php72-fpm-apache2.tar
       docker-registry.wikimedia.org/dev/dev-stretch-php72-fpm-apache2

  4. Importing that image into Minikube's docker:

     $ eval $(minikube docker-env)
     $ docker load --input ./dev-stretch-php72-fpm-apache2.tar

  5. Building an image tagged "docker-registry.wikimedia.org/dev/mediawiki"
     from the root of this repository:

     $ blubber .pipeline/blubber.yaml dev | docker build --pull=false -t docker-registry.wikimedia.org/dev/mediawiki -f - .

That image should now be usable by local-charts.

[0]. https://gerrit.wikimedia.org/r/plugins/gitiles/releng/local-charts/
[1]. https://gerrit.wikimedia.org/r/plugins/gitiles/releng/dev-images/
[2]. https://wikitech.wikimedia.org/wiki/Blubber/Download

Bug: T218360
Change-Id: I1c8192e67c39e86c4903a9137dba7c02faee3145
Depends-On: I8a5a5f2c24d81fb94b104a3a98627d9fbe6059bf
.pipeline/blubber.yaml [new file with mode: 0644]
.pipeline/config.yaml [new file with mode: 0644]
.pipeline/dev_prereq.sh [new file with mode: 0755]