On DevOps — 18. An Introduction to Continuous Delivery and Continuous Deployment

Tiexin Guo
4th Coffee
Published in
4 min readApr 3, 2021

Singapore

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.

Continuous Delivery Does Not Mean Manual Deployment

Tiexin Guo
4th Coffee

ex-AWS Sr. DevOps Consultant, CNCF Ambassador