Understanding Continuous Deployment
CD is a software development practice where code changes are automatically built, tested, and deployed to production without manual intervention, provided they pass all the automated tests that are part of your QA strategy. A CD pipeline always includes all stages of a CI pipeline; it’s an extension of CI. While CI deals with automating the building and testing part of the development cycle, CD takes care of the extensive testing and deployment aspects, as depicted in the following diagram.
Figure 10.1 – Continuous Deployment
In a typical CD pipeline, every change that passes all stages of your production pipeline is deployed to production automatically, without any human intervention. This is an excellent way to accelerate the feedback loop with your customers and take pressure off the team as there is no longer a “release day” per se.
There are mainly two strategies to implement a CD...