Git, CI/CD & GitOpsLV · Continuous Delivery versus Continuous DeploymentNoApproval
Continuous deployment — no approval, what that implies
What you'll learn
- State what continuous deployment commits the team to: no human approval before production apply
- Identify the four maturity prerequisites - test coverage, observability, progressive delivery, automated rollback
- Recognise the trade-off the team is making when it adopts continuous deployment
- Recognise that continuous deployment is a maturity claim, not a tooling choice
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 deployment is continuous integration plus an automatic apply. The pipeline produces the artifact; the workflow applies the artifact to production without a human approval step. The change reaches production the moment CI finishes. The team has decided, deliberately or by drift, that no human checkpoint is needed between the artifact and the apply.
What “no approval” actually commits to
The decision to deploy without approval commits the team to four things at once, none of them optional:
- Every change that passes CI is production-bound. There is no last-second filter between the artifact and the cluster. The pipeline does not pause for context, risk, or timing.
- Every mistake in a merged change is a production mistake. A configuration typo, an off-by-one, a query that does not match the production data shape - any of these reach production the moment the merge happens.
- The team’s recovery time is the only safety margin. Detection-to-rollback latency, plus the time to roll back, is the window of damage. A team that detects a bad change in thirty minutes and rolls back in five minutes has a thirty-five-minute window.
- Every “is this the right change at this moment” decision has been pre-decided. The team has decided in advance that no human will ever stop a green build from reaching production. That decision cannot be revisited at deploy time.
flowchart LR
A[Commit] --> B[CI pipeline]
B --> C{Tests pass?}
C -- "no" --> D[Pipeline fails]
C -- "yes" --> E[Artifact published]
E --> F[Automatic production apply]
F --> G{Observability signal?}
G -- "anomaly" --> H[Automated rollback]
G -- "normal" --> I[Release complete]
The diagram has no approval step. The arrow from artifact to production apply is direct. The only safety mechanism between the apply and the release is observability, which triggers rollback on anomaly.
The four compensating disciplines
What makes continuous deployment safe is not the absence of approval - the absence of approval removes safety - but the presence of four disciplines that catch the mistakes the gate would have caught:
- Comprehensive automated test coverage. Tests must cover the change, the surrounding behaviour, and the failure modes. The CI pipeline must fail on any regression a human reviewer would have caught.
- Production-grade observability. Latency, error rate, saturation, and business metrics must be measurable at the change’s blast radius within seconds. Detection is the only window between the bad apply and the rollback.
- Progressive delivery. Canary releases, blue/green deploys, feature flags, and traffic shaping keep a bad change from reaching 100% of production the moment it is applied. The mistake is contained to a fraction of the traffic.
- Automated rollback. The rollback decision must be automated on anomaly. A rollback that waits for a human to read a dashboard and click a button is a rollback that arrives after the damage has compounded.
What this implies about safety discipline
The trade-off the team is making is explicit:
- The team has chosen to deploy faster in exchange for accepting that every change is a potential production incident.
- The team has accepted that detection and rollback latency are the only safety margin.
- The team has accepted that the four disciplines must be continuously maintained; a discipline that rots (a test suite that no longer covers the changed code, an observability dashboard that no longer reflects the production behaviour, a feature flag that no longer isolates the new behaviour) restores the gate’s job to the pipeline without restoring the gate.
git tag --list 'v1.4.*'
This command lists the tags in the production release range. In a continuous deployment setup, every tag that appears in this output is a tag the team has shipped without a manual gate. The list is the audit record of every deploy. If the list is long and the on-call pager has been quiet, the four disciplines are working. If the list is short and the pager has been quiet, the team has not yet had a change miss the disciplines - the absence of incidents is not evidence of safety.
Production discipline
- The four disciplines are the gate. A team without them has removed approval without replacing it. The resulting setup is not continuous deployment; it is unmonitored apply.
- Detection latency is the safety budget. The time between a bad apply and a rollback is the only window in which damage compounds. Shrink the window by investing in observability.
- Progressive delivery is cheaper than rollback. A 5% canary that catches the regression in two minutes is cheaper than a 100% rollout that catches it in thirty. Use feature flags and traffic shaping.
- Automated rollback must be tested. A rollback path that has never been exercised in production is a rollback path that may not work. Run chaos drills.
- The gate can be re-added at any time. A team that realises it is not ready for deployment can fall back to delivery by configuring required reviewers on the production environment. The reverse is not true.
Cross-course references
- This course, Part XLVIII (ConditionalExec) - lesson
git-cicd-gitops-xlviii-06-environment-protection-rulesdescribes the gate that deployment removes. - This course, Part LII (KubernetesCI) - lessons
git-cicd-gitops-lii-04-policy-conftest-and-kyvernoandgit-cicd-gitops-lii-05-security-scanning-trivy-and-kubescapeare part of the test-coverage discipline that deployment requires. - Linux for Production Sysadmins - Part XXXI (Observability) covers the metrics and alerting that detection latency depends on.
Quiz
Knowledge check · 4 questions
Q1. A team has removed the required-reviewer rule from their production environment and now applies every artifact automatically. The CI test suite covers 60% of the changed lines per release. Observability dashboards exist but have not been updated in eight months. No feature flags are in use. Which statement is true?
Q2. Adopting continuous deployment is a tooling choice that any team can make by editing their CI/CD platform configuration.
Q3. Name the four compensating disciplines that continuous deployment requires, and identify which one is the only window between a bad apply and the rollback.
Q4. Diagnose a continuous deployment setup that is missing compensating disciplines, and propose a safe path forward.
A startup team has removed all approval gates from their production environment. The CI pipeline runs unit tests and a security scan; coverage is approximately 55%. There is a Prometheus dashboard but no alerts configured. No feature flags exist. The team has shipped approximately 200 deploys in the past quarter with no production incidents. The CTO claims 'continuous deployment is working great'.
Passing score: 75%. Answers are checked in this browser.