Automating the (in)famous CI/CD pipeline
A continuous integration/continuous delivery (CI/CD) pipeline is a process that carries code from development up to production by automatically provisioning infrastructure for building, testing, and deploying an application. It’s the core set of technologies that support the DevOps model. Many CI/CD models and automation tools are available on the market, and covering them all would be unmanageable. As SREs, we must understand how a CI/CD pipeline works and what good practices there are to automate it since it’s a source of toil. In the following figure, we have a simplified depiction of a CI/CD pipeline, also called a delivery pipeline:
Figure 9.2 – CI/CD pipeline
We’ll examine the preceding diagram and consider the following three main sections:
- Continuous integration
- Continuous delivery
- Production releases
We start our journey through the pipeline by understanding...