Back

Explore Courses Blog Tutorials Interview Questions
+2 votes
2 views
in DevOps and Agile by (19.4k points)

What's the difference between these three terms? My university provides the following definitions:

Continuous Integration basically just means that the developer's working copies are synchronized with shared mainline several times a day.

Continuous Delivery is described as the logical evolution of continuous integration: Always be able to put a product into production!

Continuous Deployment is described as the logical next step after continuous delivery: Automatically deploy the product into production whenever it passes QA!

They also provide a warning: Sometimes the term "Continuous Deployment" is also used if you are able to continuously deploy to the test system.

All this leaves me confused. Any explaination that is a little more detailed (or comes with an example) is appreciated! 

1 Answer

+1 vote
by (27.5k points)
edited by

Continuous Delivery is nothing but a small build cycle with short sprints. Here, the aim is to keep the code in a deployable state at any given time. The code or project is not 100% complete yet. The available feature sets are tested, debugged, and made ready to deploy, although may not be deployed at that moment. The focus and key here are to keep the code base at a deployable state. How is this useful? In today’s world, we can't afford to release a buggy project. So targeting smaller features of the same product makes it less time consuming to identify bugs, therefore quicker bug fix time in fixing bugs, most importantly allows us to focus more on building a much more stable product.

How is it different from Continuous Deployment? Well, in this method as soon as the changes made in the product are automatically deployed to production. But this approach works fine in enterprise environments, where the users play the role of 'tester.' This method is quicker, but risky at times.

Now coming down to the last approach, Continuous Integration is merging all code from all developers to one central branch of the repository many times a day trying to avoid conflicts in the code in the future. Here we have multiple developers working on a project maintaining the main branch of the repository as the most current form of the source code, so each developer can check out or pull from the latest code to avoid conflicts.

For more information please go through the following tutorial to get more info about CI/CD:

 

Browse Categories

...