DevNet Associate (DEVASC) v1.0Application Deployment and SecurityMedium

A DevOps team is implementing a CI/CD pipeline for a new microservice. They want to ensure that code changes are automatically built, tested, and deployed to a staging environment whenever a developer pushes code to the main branch. Which CI/CD concept best describes this automated process that ensures the software is always in a releasable state?

  1. AContinuous Delivery
  2. BContinuous Integration
  3. CContinuous Deployment
  4. DAutomated Testing
Show answer & explanation

Correct answer: A. Continuous Delivery

Continuous Delivery extends Continuous Integration by ensuring that all code changes are built, tested, and prepared for release to production. It guarantees that the software is always in a deployable state, though manual approval might still be required for production deployment.

Why the other options are wrong

  • B. Continuous Integration focuses on frequent merging and automated building/testing of code, not necessarily preparing for release.
  • C. Continuous Deployment automatically deploys every change that passes the pipeline to production, which is beyond 'staging environment' and 'releasable state' without explicit mention of production auto-deployment.
  • D. Automated Testing is a component of CI/CD but not the overarching concept of preparing for release.

Continuous Delivery

A software development practice where code changes are automatically built, tested, and prepared for release to production, ensuring the software is always in a deployable state.

  • Builds upon Continuous Integration.
  • Automates the entire release process up to the point of production deployment.
  • Allows for frequent and reliable releases, often with a manual 'go/no-go' decision for production.

Memory trick: CI integrates, CD delivers, CDep deploys to prod.

More Application Deployment and Security questions