Fetch the build image from the registry instead of building it on the fly.
Rather than having slaves build Docker images on the fly to perform continuous integration, a single pre-built image is now stored inside the registry. This is the same kind of setup used for the continuous integration of Coq.
As a consequence, slaves now have to provide docker
executors rather than shell
ones. That said, we still need a shell
slave around to pre-build the image, as well as to perform the deployment. (Eventually, this should be changed to a docker-in-docker
executor.)
Benefits:
- The
Dockerfile
description can now be modified as needed. - Slaves should now be a bit more secure (at least the
docker
ones). - We might be able to reduce the storage space needed by the slaves. (We are getting dangerously close to our 400GB quota.)
Downsides:
- Testing a new OCaml compiler or an additional Opam package is no longer a matter of committing a few lines and waiting a few minutes.
- Pre-building the Docker image has to be triggered manually.
- It takes about two hours to create the image.
Edited by Guillaume Melquiond