CI/CD is a process that combines continuous integration, continuous delivery and/or continuous deployment. CI/CD is used during the software development life cycle to increase automation. The aim of CI/CD is to deliver new software features with a shortened time-to-market.
What do CI and CD stand for?
Continuous integration focuses on building and testing code in small batches—the developers’ work may even be merged in the central repository multiple times per day. Development teams use automation tools (e.g., CircleCI, Jenkins) to automatically test and merge new code as seamlessly as possible.
CD stands both for continuous delivery and continuous deployment.
Continuous delivery is a natural follow-up to CI. Instead of preparing one big release a few times a year, new code is available for on-demand release, even up to a few times a day. It is not only much easier to detect and fix bugs in small batches but also much wiser as the software becomes more bug-resistant.
Continuous deployment aims that every change in the code should be deployed immediately and automatically put into production without human intervention.
The CI/CD process
In the continuous integration (CI) stage, the code is built, tested, and merged with each applied change automatically integrated into the project. During the first CD phase, continuous delivery, the code is automatically released to the repository. In continuous deployment, the code is automatically deployed to the production environment. The phases and steps taken together create a CI/CD pipeline. The proper use of the CI/CD process guarantees secure and high-quality code, progresses the application faster, and shortens time-to-market for new features.