5 Pipelines
This chapter covers:
- What are the stages in a GitOps CI/CD pipeline?
- How to promote code, image, and environment
- Rollback
- Compliance pipeline
Continuous Integration (CI) is a software development practice in which all developers merge code changes in a central repository (Git). With CI, each change in code (commit) triggers an automated build-and-test stage for the given repo and provides feedback to the developer(s) who made the change. The main difference between GitOps when compared to traditional CI is that with GitOps, the CI pipeline also updates the application manifest with the new image version after the build and test stages have completed successfully.
Continuous Delivery (CD) is the practice of automating the entire software release process. Continuous Delivery includes infrastructure provisioning in addition to deployment. What makes GitOps CD difference from traditional CD is the use of a GitOps operator to monitor the manifest changes and orchestrate the deployment. As long as the CI build is complete and the manifest is updated, GitOps Operator takes care of the eventual deployment.
Note |
Please refer to section 2.5 for GitOps CI/CD and Operator basics. |
In this chapter, we take an in-depth look at a comprehensive CI/CD pipeline and why it is important for software development. A CI/CD pipeline is a collection of stages, and each stage performs a specific task to achieve the following objectives.