AWS Certified DevOps Engineer – ProfessionalSDLC AutomationEasy
A company is using AWS CodePipeline for their CI/CD workflows. They have a stage that deploys an application to an Amazon S3 bucket. Before releasing the new version to production, a manual approval from a manager is required. How can this manual approval step be most effectively integrated into the CodePipeline?
- AConfigure CodeBuild to require a manual 'approve build' step before proceeding.
- BImplement a custom action in CodePipeline that calls an external approval system.
- CUse an AWS Lambda function to send an email for approval and pause the pipeline.
- DInsert a 'Manual approval' action into the CodePipeline stage before the production deployment.
Show answer & explanationAnswer & explanation
Correct answer: D. Insert a 'Manual approval' action into the CodePipeline stage before the production deployment.
AWS CodePipeline has a built-in 'Manual approval' action type that can be inserted into any stage. This action pauses the pipeline until an authorized user manually approves or rejects the continuation, making it the most direct and integrated solution for this requirement.
Why the other options are wrong
- A. CodeBuild is for building and testing, not for orchestrating pipeline approvals. Approvals are a CodePipeline feature.
- B. Custom actions are for integrating with services not natively supported by CodePipeline. Manual approval is a native feature, so a custom action is unnecessary here.
- C. While possible, this is a custom solution that requires more development and maintenance than using the native CodePipeline feature.
CodePipeline Manual Approval
A built-in action in AWS CodePipeline that pauses the pipeline execution, awaiting explicit approval or rejection from a designated user.
- Allows human gatekeeping in automated pipelines.
- Can be configured to send notifications (e.g., SNS).
- Provides an audit trail of approvals/rejections.
- Integrated directly into CodePipeline stages.
Memory trick: Pipeline needs a human hand to pass the gate.