Continuous Integration vs Continuous Delivery vs Continuous Deployment

In this post we’re going to deep dive into three most important terms used in Agile world i.e Continuous Integration, Continuous Delivery and Continuous Deployment.

Often Engineers get confused with these terms and mess up their concepts ending will false knowledge. So here we will be seeing all the three terms in depth. In this post we will be focussing only to understand the concept and differentiate these 3 terms. In depth tutorial of each terms you can find in my next tutorial.

What is Continuous Integration

Continuous Integration is a process or a development practice of automated build and automated test i.e. A developer is required to commit his code multiple times into a shared repository where each integration is verified by automated build and test.

Continuous Integration
Continuous Integration

If the build fails/success it is notified to a developer and then he can take relevant actions.

What is Continuous Delivery

Continuous Delivery is the practise where we keep our code deployable at any point which has passed all the test and has all the required configuration to push the code to production but hasn’t been deployed yet.

What is Continuous Deployment

With the help of CI we have created s build for our application and is ready to push to production. In this step our build is ready and with CD we can deploy our application directly to QA environment and if everything goes well we can deploy the same build to production.

So basically, Continuous deployment is one step further than continuous delivery. With this practice, every change which passes all stages of your production pipeline is released to your customers.

Pipeline Explained
Pipeline Explained
Img source: https://www.atlassian.com/

Continuous Deployment is a combination of Configuration Management and Containerization.

Configuration Management: CM is all about maintaining the configuration of server which will be compatible to application requirement.

Containerization: Containerization is a set of tolls which will maintain consistency across the environment.

Leave a comment