What is Continuous Delivery?
· Category: DevOps & CI/CD
Short answer
Continuous Delivery (CD) is the practice of automatically preparing code changes for production release. Every validated change is deployable, and deployments can be triggered with minimal manual effort.
How it works
After CI passes, the CD pipeline stages the application, runs integration and acceptance tests, deploys to staging, and awaits manual approval for production. Infrastructure changes are applied automatically.
Example
deploy_staging:
script:
- helm upgrade --install myapp ./chart --namespace staging
environment:
name: staging
deploy_production:
script:
- helm upgrade --install myapp ./chart --namespace production
environment:
name: production
when: manual
Why it matters
CD reduces deployment risk by making releases smaller and more frequent. It automates repetitive tasks, reduces human error, and provides audit trails for every change.
Key differences
- Continuous Delivery: Production release is manual but one-click.
- Continuous Deployment: Production release is fully automatic.
Common issues
- Insufficient testing in staging leads to production failures.
- Database migrations require careful sequencing.
- Rollback procedures must be tested and documented.