CI/CD

Definition
CI/CD stands for Continuous Integration and Continuous Delivery or Deployment. It is a set of practices in software development that automate the building, testing, and releasing of code. The goal is to improve development speed, reduce errors, and ensure reliable releases.
Continuous Integration (CI) focuses on frequently merging code changes into a shared repository where automated builds and tests are run. Continuous Delivery or Deployment (CD) extends this by automatically preparing or releasing code to production environments, ensuring faster and more reliable updates.
Advanced
At an advanced level, CI/CD pipelines integrate with version control systems such as GitHub or GitLab and use automation tools like Jenkins, CircleCI, or GitHub Actions. Pipelines include steps such as linting, unit tests, integration tests, security scans, and deployment.
Continuous Deployment pushes every validated change directly to production, while Continuous Delivery ensures code is always in a deployable state but may require manual approval for release. Advanced practices include canary releases, blue-green deployments, and rollback strategies for minimising risk.
Why it matters
Use cases
Metrics
Issues
Example
An e-commerce company adopts CI/CD using GitLab pipelines. Developers push code to the main branch, triggering automated tests and builds. Successful changes are deployed to staging and then automatically rolled into production. This reduces release cycles from monthly to daily and improves site reliability.