* Some users might want to override this in an environment where the builder images are managed * This adds the same configuration to the `docker-` and `container-` jobs and roles. Converting between them should follow the same pattern as with the other job/role vars. Change-Id: I72fd59c36452e4520d077b645fb7627ba6a5443c
This is one of a collection of jobs which are designed to work together to build, upload, and promote docker images in a gating context:
build-docker-image: Build the images.upload-docker-image: Build and stage the images on dockerhub.promote-docker-image: Promote previously uploaded images.
The build-docker-image job is designed to be used in
a check pipeline and simply builds the
images to verify that the build functions.
The upload-docker-image job builds and uploads the
images to Docker Hub, but only with a single tag corresponding to the
change ID. This job is designed in a gate
pipeline so that the build produced by the gate is staged and can later
be promoted to production if the change is successful.
The promote-docker-image job is designed to be used
in a promote pipeline. It requires no
nodes and runs very quickly on the Zuul executor. It simply re-tags a
previously uploaded image for a change with whatever tags are supplied
by build-docker-image.docker_images.tags. It also
removes the change ID tag from the repository in Docker Hub, and removes
any similar change ID tags more than 24 hours old. This keeps the
repository tidy in the case that gated changes fail to merge after
uploading their staged images.
They all accept the same input data, principally a list of dictionaries representing the images to build. YAML anchors can be used to supply the same data to all three jobs.
Job Variables