On DevOps — 18. An Introduction to Continuous Delivery and Continuous Deployment
--
In earlier chapters, we have covered Continuous Integration (CI), why testing is essential to CI, and how to manage versions with CI.
If you haven’t read those chapters yet, here are some links:
After your code is automatically integrated into your source code management system with high-quality tests in place, the next step you want is to deploy them to an environment, and hopefully in an automated fashion. This is where Continuous Deployment kicks in.
Continuous Delivery V.S. Continuous Deployment
CD can mean both Continuous Delivery and Continuous Deployment.
We read and hear these two terms a lot, and you might get asked quite often about the difference between Continuous Delivery and Continuous Deployment, so let’s answer this question first.
Continuous Delivery
Continuous Delivery means you build software in such a way that the software can be released to production at any time. It means a piece of software is potentially capable of being deployed but not actually deployed yet.
If your software is deployable throughout its lifecycle, which is achieved by prioritizing keeping the software deployable over new features, you are doing Continuous Delivery.