Blubber/Pipeline

From Wikitech
Jump to navigation Jump to search

In the Continuous Delivery 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)production.

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 you production Blubber variant, tags it with the tag you pushed and pushes that to the Wikimedia Docker Registry.

also see: Deployment pipeline