AWS Certified DevOps Engineer – ProfessionalSDLC AutomationEasy

A development team uses AWS CodePipeline to automate their software releases. They have a stage that deploys to a staging environment, and before it can proceed to production, a senior engineer must manually approve the deployment. How can they implement this requirement within CodePipeline?

  1. AAdd an AWS Lambda function that checks for a flag in a database before proceeding.
  2. BInsert a manual approval action in the CodePipeline stage.
  3. CConfigure an Amazon SQS queue that must be manually emptied to proceed.
  4. DUse AWS Step Functions to orchestrate a human approval workflow.
Show answer & explanation

Correct answer: B. Insert a manual approval action in the CodePipeline stage.

AWS CodePipeline provides a built-in 'Approval' action type that can be inserted into any stage. This action pauses the pipeline until a designated user or group manually approves or rejects the progression, making it ideal for controlled deployments.

Why the other options are wrong

  • A. While possible, this is an overly complex and custom solution compared to CodePipeline's native feature.
  • C. This is an unconventional and less direct method, not designed for explicit human approval within a CI/CD pipeline.
  • D. Step Functions can orchestrate complex workflows, but a simple manual approval in CodePipeline is more direct and less overhead.

CodePipeline Manual Approval

A feature within AWS CodePipeline that allows you to pause a pipeline at a specific stage and require a manual approval or rejection from a designated user or group before the pipeline can continue.

  • Pauses pipeline execution at a specified stage.
  • Requires human intervention (approve/reject) to proceed.
  • Integrates with AWS SNS for notifications.
  • Essential for controlled deployments to critical environments.

Memory trick: Approval: A human finger on the 'go' button.

More SDLC Automation questions