With continuous delivery, every change made to the system can be released, and any version can be released at any time. Continuous integration is the natural extension of continuous delivery. Continual delivery provides quick feedback on what users care about and aims to make releases boring.
The continuous integration and continuous delivery (CI/CD) method are transforming DevOps. Even if each step of the software development lifecycle can be carried out manually, CI/CD automates the stages in software development and deployment.
Continuous integration is the process of merging code (updates or existing features) with an existing codebase (software tool or product, for example). CI is a development practice where developers merge code in a central repository several times daily.
In CI, each line of code added to the codebase triggers a sequence in a CI/CD pipeline, generating feedback for developers. This process allows improvements to be made quickly and easily.
CD is an attempt to speed up and automate deployments. An operator can push out multiple deployments in a week across numerous services and know the exact condition of the applications and infrastructure in the course of the deployments.
“Continuous delivery is the natural extension of continuous integration, an approach in which teams ensure that every change to the system is releasable, and release any version with the push of a button. Continuous delivery aims to make releases boring so that we can deliver frequently and get quick feedback on what users care about.” — Thought Works
How Platform Engineering Helps Manage Innovation Responsibly
To run a CI/CD pipeline successfully, organizations should outline goals that guide developers’ approaches and processes. While each pipeline is unique, it should reflect some overarching goals.
Here are some results that should be the focus of the pipeline: