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:
On DevOps — 16. Continuous Integration Revisit: Definition, Benefits, and Choosing the Best in 2021
CI: definition, benefit, ease of use, popular choices, some best practices, and choosing the best one in 2021…
On DevOps — 15. Automated Tests: Why and How
The most important aspect in the software development lifecycle is probably testing. Why is it important, and how to do…
On DevOps — 17. Everything You Need to Know about Versioning
Benefits, source code versioning, where and how to tag, single source of truth, version propagation — everything you…
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 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.