The abbreviation CI stands for «continuous integration», and CD stands for «continuous delivery» or «continuous deployment».
In traditional software development, software is merged and tested by all developers in one big single integration step that usually takes weeks or even months. Since this only happens every few months, this step is very time-consuming.
1. Continuous integration (CI)
In modern software development, this step is carried out every time the source code is changed, using a method known as «continuous integration». The changed source code is merged with the remaining source code, built and tested. The developer receives immediate feedback on whether their changes are acceptable.
By doing continuous integration the changes are merged and tested immediately. And because the changes are smaller, there is less risk of them resulting in problems. Should a change nevertheless lead to a problem, it can be spotted right away, assigned and fixed. Continuous integration forms the basis for continuous delivery or continuous deployment.
2. Continuous delivery (CD)
Although continuous integration is used to integrate the software, the software is not yet deployed in a production-like environment, where it can be tested. With continuous delivery, the software package is deployed in a production-like environment and automatically tested once it has passed all tests on the continuous integration server. This additional step makes it possible to spot problems that could otherwise only be identified when deploying the software live or during operation.
3. Continuous deployment (CD)
With continuous deployment, each change is automatically deployed to production once it has passed all tests on the continuous integration server and the automatic tests in the production-like environment. Continuous deployment builds on continuous delivery and continuous integration, which form the basis of it.
Companies are increasingly confronted with the challenge of enhancing efficiency while lowering costs. And approved changes to a product often take too long to reach customers in the marketplace. Continuous integration and continuous delivery/deployment enable companies to accelerate the feedback cycle and throughput speed, which means they can react more quickly to changes and keep their customers happy.