In the Deployment pipeline Jenkins will handle building Docker images from Blubberfile specifications. This is configured by convention: Jenkins expects to find a Blubberfile in
.pipeline/blubber.yaml at the root of your repository. In that Blubberfile it expects to find, at minimum, two variants (1)
test and (2)
When a patchset is proposed in Gerrit for your repository, Jenkins will build a Docker image based on your
test variant and run a container based on that image. Jenkins will report back to Gerrit based on the whether the
entrypoint of the that container exited cleanly (success) or not (failure).
When a patchset is merged to your repository on Gerrit, Jenkins will, again, build and execute your
test variant. If that succeeds Jenkins will build a Docker image based on your
production variant and push it into the Wikimedia Docker Registry.
When you push a tag to your repository on Gerrit, Jenkins will, once again, build and execute your
test variant. If that succeeds, Jenkins builds a Docker image based on your
production Blubber variant, tags it with the tag you pushed and pushes that to the Wikimedia Docker Registry.