CI/CD
CI/CD is the combined practice of continuous integration (CI) and continuous delivery or continuous deployment (CD). Together, they form an automated pipeline – sometimes called a deployment pipeline – that takes code from a developer’s workstation through build, test, and release stages, ideally with minimal manual intervention.
Continuous integration ensures that code changes are merged into a shared branch frequently and verified by automated builds. Continuous delivery extends this by keeping the codebase in a releasable state at all times, so that deployment to production is a low-risk, push-button activity. Continuous deployment goes one step further, automatically releasing every change that passes the pipeline directly to production without a manual gate.
The CI/CD pipeline is where many engineering practices converge. Static analysis and linting run early in the pipeline to catch style violations and potential defects. Automated tests – unit, integration, and end-to-end – validate behavior at multiple levels.
Platform engineering teams often build and maintain the CI/CD infrastructure itself as an internal product, offering self-service pipelines to application teams.
CI/CD is a key enabler of value stream management, which seeks to measure and optimize the flow of work from idea to production. The speed and reliability of the pipeline directly influence how frequently a team can release and how quickly it can recover from defects – both of which are measured by metrics such as the DORA metrics.