
This chapter covers
- Determining the basic steps of continuous delivery
- Deploying the sample application to production
- Using environments to guard deployments
- Implementing various deployment strategies
- Separating infrastructure and application code
Continuous delivery (CD) is a DevOps practice in which we deploy our software to production fully automated. In DevOps, we strive for a continuous flow of value to the end customer, which also means into production. The “holy grail” here is that every commit to the version control repository will end up in production in the shortest time possible with as few human interactions as possible, while delivering a stable, high-quality product.
9.1 CD workflow steps
The steps involved in moving to production vary greatly, depending on the product you build and the technologies you use. But, in general, you can state there are a set of generic steps you always want to take before users are exposed to new functionality. There are situations where everything is done in production, including testing the software. Although this is technically production, they keep the same safety measures in place as when you would go through a set of environments that are not exposed to the users. In general, the steps to move your software to production are as follows: