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.