Most of our CI Jobs running on Nomad are containerized via Docker to ensure reproducibility between builds.
The docker image definitions are available in alisw/docks, and the CERN docker registry is https://registry.cern.ch/
Rebuilding a Docker image#
If an image definition has changed, it must be rebuilt and pushed to the proper registry for Nomad to use it in new job allocations.
Packer-defined images#
Newer images have a packer.json
file, which allows them to be built using
Hashicorp packer
There's a GitHub Action here that will rebuild and push the images for you.
In case you prefer to do it manually:
brew install packer # > 0.10.0
cd <image-name>
packer build packer.json
docker push registry.cern.ch/alisw/<image-name>
Dockerfile-defined images#
Older images without a packer.json
can be built with:
Conventions#
The CI uses an image named
https://github.com/alisw/ci-jobs/blob/master/ci/ci.nomad