Single Blog

Difference Between CI vs CD vs CD

CI and CD are two abbreviations that are regularly referenced when individuals talk about development practices. CI is clear and represents continuous integration, a practice that centers around making setting up a release simpler. In any case, CD can either mean continuous delivery or continuous deployment and keeping in mind that those two practices share a ton for all intents and purpose, they likewise have a noteworthy difference that can have critical consequences for a business.

We will find in this article what these three practices mean and what’s needed to utilize them.

Continuous integration

Developers practicing continuous integration merge their changes back to the main branch as often as possible. The developer’s changes are validated by creating a build and running automated tests against the build. By doing so, you avoid the integration hell that usually happens when people wait for release day to merge their changes into the release branch.

Continuous integration puts a great emphasis on testing automation to check that the application is not broken whenever new commits are integrated into the main branch.

Continuous delivery

Continuous delivery is an extension of continuous integration to make sure that you can release new changes to your customers quickly in a sustainable way. This means that on top of having automated your testing, you also have automated your release process and you can deploy your application at any point in time by clicking on a button.

In theory, with continuous delivery, you can decide to release daily, weekly, fortnightly, or whatever suits your business requirements. However, if you truly want to get the benefits of continuous delivery, you should deploy to production as early as possible to make sure that you release small batches that are easy to troubleshoot in case of a problem.

Continuous deployment

Continuous deployment goes one step further than continuous delivery. With this practice, every change that passes all stages of your production pipeline is released to your customers. There’s no human intervention, and only a failed test will prevent a new change to be deployed to production.

Continuous deployment is an excellent way to accelerate the feedback loop with your customers and take the pressure off the team as there isn’t a Release Day anymore. Developers can focus on building software, and they see their work go live minutes after they’ve finished working on it.

 

difference between ci-cd-cd process

Reference Tools:

Build Tools  : Maven, Ant, Pybuild

CI Tools.       : Jenkins, Bamboo

Happy Mentoring!

Find a Mentor

Comments (0)

Post a Comment