Continuous Integration Vs Continuous Delivery Vs Continuous Deployment
- doanhoavn
- Jul 6, 2021
- 2 min read
Updated: Nov 10, 2021
What are continuous delivery and continuous deployment?
Along with continuous integration, continuous delivery and continuous deployment are practices that automate phases of software delivery

Continuous integration
Under continuous integration, the develop phase—building and testing code (unit test)—is fully automated
Each time you commit code, changes are validated and merged to the master branch, and the code is packaged in a build artifact.
In short, CI is the process of automatically detecting, pulling, building and automated testing when source code is changed. CI is the activity that starts the pipeline
Continuous delivery
Under continuous delivery, anytime a new build artifact is available, the artifact is automatically placed in the desired environment and deployed
In this process, developed code is continuously delivered as soon as the developer deems it ready for being shipped. It involves continuous integration, testing automation and deployment automation processes. The core idea is to deliver the code to QA, customers, or any user base so that it can be constantly and regularly reviewed
Continuous deployment
It is the process of deploying the code directly to the production stage as soon as it is developed. This means customers receive improvements as soon as they’re available.

Quick summary and final thoughts
Continuous Integration (CI): short-lived feature branches, team is merging to master branch multiple times per day, fully automated build and test process which gives feedback within 10 minutes; deployment is manual.
Continuous Delivery (CD): CI + the entire software release process is automated, it may be composed of multiple stages, and deployment to production is manual.
Continuous Deployment: CI + CD + fully automated deployment to production.
Another minor source of confusion is what the “CD” in “CI/CD” stands for. There is no definite answer, but the majority approach is to call it “continuous integration and continuous delivery”. This makes sense when we take into account that continuous deployment is a special case of continuous delivery that may not be applicable to all systems.
For example You should deploy to the app store and then the app store will deliver the app tới phone?
Comments