A pipeline labeled continuous delivery mistakenly auto-deploys to production without an approval gate.
Codeyaml
# Goal: CONTINUOUS DELIVERY
# build + test run automatically, deploy to STAGING automatically,
# but PRODUCTION must wait for a human approval.
stages:
- build
- test
- deploy-staging
- deploy-prod
deploy-staging:
stage: deploy-staging
script:
- ./deploy.sh staging
deploy-prod:
stage: deploy-prod
script:
- ./deploy.sh production
# (no gate configured here)
The team wants continuous delivery, but what makes this pipeline actually behave as continuous deployment?