Continuous integration · Technology in use
Jenkins
An automation server for test, build, and publish pipelines.
The problem it solves
An automation server for test, build, and publish pipelines.
Technical rationale
Jenkins handles the part of the process before there is an image to deploy, and I keep it defined entirely through JCasC so its configuration is reviewed as code instead of as a series of clicks. It builds on an agent separate from the controller because it runs code arriving in pull requests, and it publishes by digest so the deployment does not depend on a tag that can be repointed.
How I have used it
It is defined entirely through JCasC, builds on a separate agent because it runs pull request code, and publishes the image by sha256 digest.