The pipeline will support full continuous integration. When developers push code to the shared source repository, that will trigger a build that produces a release candidate. The release candidates will be tagged Docker images that are stored in a local registry. The CI workflow deploys the solution from the built images as containers and runs an end-to-end test pack.
My sample pipeline has a manual quality gate. If the tests pass, the image versions are made publicly available on Docker Hub, and the pipeline can start a rolling upgrade in a public environment running on a remote Docker Swarm. In a full CI/CD environment, you can automate the deployment to production in your pipeline, too.
The stages of the pipeline will all be powered by software running in Docker containers:
- Source control: Gogs, a simple open source Git server written in Go
- Build...