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?
- AAdd an AWS Lambda function that checks for a flag in a database before proceeding.
- BInsert a manual approval action in the CodePipeline stage.
- CConfigure an Amazon SQS queue that must be manually emptied to proceed.
- DUse AWS Step Functions to orchestrate a human approval workflow.
Show answer & explanationAnswer & 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.