Software Development and Project Management
Which correctly describes the difference between continuous delivery and continuous deployment?
- AContinuous delivery refers only to merging source code changes into a shared branch and does not include building or testing
- BIn continuous deployment, a person must always approve a release before it goes to production
- CContinuous delivery keeps the software in a state that can be released to production at any time, and a person decides when to release; continuous deployment releases changes that pass the tests to production automatically
Show answer and explanation
Answer: C. Continuous delivery keeps the software in a state that can be released to production at any time, and a person decides when to release; continuous deployment releases changes that pass the tests to production automatically
Both send changes that have been integrated and tested by CI through an automated pipeline that includes checks such as a staging environment. Continuous delivery automatically prepares a releasable state, and a person decides whether to release it to production. Continuous deployment also automates that final release. The idea and culture in which development and operations cooperate to release quickly and safely and repeatedly, through such automation and feedback from operations, is called DevOps.
- A. Merging into a shared branch with automated builds and tests is the scope of CI; continuous delivery goes further and includes preparing for release.
- B. Human approval is part of continuous delivery; continuous deployment releases automatically.
- C. Correct. The difference is whether a person decides on the production release or it happens automatically.
Continue: 9 more Software Development and Project Management questions