Back to results for “Project Structure”
.NET › CI/CD, Publishing & Deployment

What is the difference between continuous integration (CI) and continuous deployment/delivery (CD)?

Beginner

Answer

Continuous Integration is the practice of frequently merging code changes into a shared branch, with automated builds and tests running on every change to catch integration issues early. Continuous Delivery extends this by ensuring the codebase is always in a deployable state, with releases requiring a manual approval step, while Continuous Deployment goes further still, automatically deploying every change that passes all checks directly to production with no manual gate at all.
# CI: runs on every push/PR
on: [push, pull_request]
jobs:
  build-and-test: { ... }

# CD (Continuous Deployment): auto-deploys after CI passes on main
on:
  push:
    branches: [main]
jobs:
  deploy: { needs: build-and-test, ... }
Real-world example A startup practices full continuous deployment, where every merged pull request to main automatically deploys to production within minutes, while a regulated financial services company practices continuous delivery, requiring a manual sign-off before each production release despite otherwise identical automated pipelines.

Common follow-ups: What organizational or regulatory factors push a team toward delivery over deployment?;How does feature flagging reduce the risk of full continuous deployment?