Git, CI/CD & GitOpsLV · Continuous Delivery versus Continuous DeploymentCIRecap
Continuous integration recap — the foundation and its limits
What you'll learn
- State what CI guarantees: automated execution against a commit and reproducible verification
- State what CI does not guarantee: change safety, approval, semantic correctness
- Recognise that CI is a prerequisite for both CD and continuous deployment but not sufficient for either
- Identify the failure mode of treating a green CI run as evidence that the change is safe to ship
Prerequisites
Verified against Git 2.55.x teaching target; 2.40+ minimum · GitHub Actions continuous service; Aug 2026 documentation baseline · Argo CD v3.5.x teaching target; v3.0+ minimum · Flux v2.9.x · Sigstore Cosign v3.1.x · SLSA v1.2 · OCI Distribution Specification v1.1 · Git LFS v3.7.1 · Kubernetes (cross-course target) 1.36.x
Continuous integration, as established in Part XXXVII, is automated execution against a commit. A CI pipeline watches a repository, checks out a commit on a runner, runs the commands the pipeline defines, and reports a pass or fail. That sentence is the whole of CI; everything that comes after - delivery, deployment, release - is built on top of that foundation and is not part of it.
What CI guarantees
A green CI run proves three things and only three things:
- The commit exists at the SHA the pipeline reports. The pipeline checked out a specific commit, and the result is reproducible against that commit.
- The pipeline ran to completion on a clean runner. The tests passed against the code that was checked out; no manual steps were skipped.
- The artifact, if any, was produced from that commit. A container image, a Terraform plan, a Helm chart, or a compiled binary is the verifiable output of a specific input.
That is the entire guarantee. Three things, all of them about the artifact and the run, none of them about whether the artifact should be applied to production.
What CI does not guarantee
A green CI run is silent on every question that matters for a production deploy:
- Whether the change is semantically correct. Tests verify what they verify. A test suite that does not exercise a code path cannot fail on that path.
- Whether the change has been reviewed. CI does not know what a reviewer knows. The pipeline runs regardless of who, if anyone, has approved the pull request.
- Whether the change is safe to apply to production. The pipeline tested against a test environment, with synthetic data, on a runner that is not the production cluster.
- Whether the change is desired at all. A perfectly green build of an unwanted feature is a green build that should not be deployed.
flowchart LR
A[Commit] --> B[CI pipeline]
B --> C{Tests pass?}
C -- "no" --> D[Pipeline fails]
C -- "yes" --> E[Artifact published]
E --> F{Anything beyond CI?}
F -- "delivery" --> G[Manual approval gate]
F -- "deployment" --> H[Automatic production apply]
G --> I[Production]
H --> I[Production]
The diagram shows the boundary. CI ends at the artifact. Every question about what to do with the artifact - hold it, review it, apply it - sits outside CI.
CI is necessary but not sufficient
Both continuous delivery and continuous deployment require CI. Neither is implied by CI.
- Continuous delivery without CI is impossible. The artifact that the gate holds is the CI artifact. Without a pipeline that produces a reproducible artifact on every merge, there is nothing for the gate to hold.
- Continuous deployment without CI is impossible. The artifact that the workflow applies to production is the CI artifact. The workflow that applies it is itself a CI workflow. Removing CI from a continuous deployment setup collapses the entire practice.
- CI alone, however, is not delivery or deployment. A green pipeline that publishes an artifact nobody ever applies is a green pipeline; it is not delivery or deployment.
Production discipline
- A green CI run is a precondition, not a conclusion. The run proves the artifact exists and the pipeline ran. It does not prove the artifact should be applied.
- CI is the floor, not the ceiling. Teams that stop at CI have automation; they do not have delivery or deployment. The rest of this part is about what comes next.
- The artifact is the unit of trust. Whatever CI publishes - image, plan, chart, binary - is what the delivery or deployment workflow consumes. A pipeline that does not produce an artifact is a pipeline that does not enable either CD term.
- Test coverage is a CI discipline, not a CI guarantee. CI does not enforce that tests cover the change. A green build of untested code is a green build of an unverified claim.
Cross-course references
- This course, Part XXXVII (CIFundamentals) - lesson
git-cicd-gitops-xxxvii-01-what-ci-is-and-is-notis the full treatment of what CI guarantees and does not guarantee. - This course, Part L (TerraformCI) - lessons
git-cicd-gitops-l-05-terratest-and-integration-testsandgit-cicd-gitops-l-06-plan-as-artifact-and-pr-commentshow CI applied to Terraform, including the plan-as-artifact pattern that continuous delivery workflows consume. - This course, Part XLIV (Artifacts) - lesson
git-cicd-gitops-xliv-01-what-an-artifact-isestablishes the artifact as the durable output of CI.
Quiz
Knowledge check · 4 questions
Q1. A team has a fully automated CI pipeline that builds and tests every commit. The pipeline publishes a container image on every green run, but no workflow ever applies the image to any environment. Which statement is true?
Q2. A green CI run does not prove that the change is safe to apply to production.
Q3. Name the three things a green CI run actually proves, and identify the most important thing it does not prove.
Q4. Diagnose a production incident caused by treating CI as a safety mechanism.
A team deploys a configuration change that passes every CI check - lint, unit tests, integration tests, security scans. The change is applied to production by a workflow job that runs after CI without a manual approval step. Thirty minutes later, production experiences a cascading failure caused by the configuration change. The post-incident review concludes 'CI was green; how did this happen?'
Passing score: 75%. Answers are checked in this browser.