Automating continuous application deployment
In this section, we are going to examine the second part of the software development process – the delivery of the product. Many organizations invest all their efforts into CI, leaving the determination of whether or not software should be executed in production to a manual decision.
A CD pipeline gets changes from the artifacts and code repositories, including required configurations, and deploys them into production in a fluent and continuous way. To achieve this, we need to somehow package all these artifacts and configurations in a reproducible and deployable state, aiming to keep the maximum stability and reliability in our systems. The following list shows some of the most notable benefits of using CD:
- We mitigate the risks of deploying new releases because automation ensures a quick rollback in case something goes wrong
- Automation may use blue–green and canary deployments, enabling new application releases...