DevNet Associate (DEVASC) v1.0Application Deployment and SecurityMedium
A developer wants to automate the process of building, testing, and deploying a new web application whenever code changes are pushed to the main branch of a Git repository. The goal is to frequently integrate changes and ensure they are always ready for deployment. Which CI/CD concept best describes this end-to-end automation goal?
- AContinuous Delivery (CD)
- BContinuous Monitoring (CM)
- CContinuous Deployment (CDep)
- DContinuous Integration (CI)
Show answer & explanationAnswer & explanation
Correct answer: A. Continuous Delivery (CD)
Continuous Delivery (CD) extends Continuous Integration by ensuring that all code changes are automatically built, tested, and prepared for a release to production. It guarantees that the software is always in a deployable state, though a manual step might be required to trigger the actual production deployment. This matches the goal of being 'always ready for deployment'.
Why the other options are wrong
- B. Continuous Monitoring is about observing the application in production and is not part of the build/test/prepare-for-release pipeline.
- C. Continuous Deployment automatically deploys every validated change to production without manual intervention, which is a step beyond merely being 'ready'.
- D. CI focuses on automated building and testing of merged code, but doesn't necessarily mean the code is always 'ready for deployment'.
Continuous Delivery (CD)
Continuous Delivery is a software development practice where code changes are automatically built, tested, and prepared for release to production. It ensures that the software is always in a deployable state, allowing for rapid and reliable releases.
- Extends Continuous Integration.
- Code is always in a deployable state.
- Automated build, test, and release preparation.
- Deployment to production can be manual or automated.
Memory trick: Delivery means ready to ship, Deployment means it's shipped.