- 최신
- 최다 투표
- 가장 많은 댓글
Is this even possible.?
yes
How?
First. you can create an EventBridge rule that checks if there are any changes to the input artifact(s) before executing the actions in a particular stage. If there are no changes, the EventBridge rule can trigger a custom action that skips the stage and transitions the pipeline to the next stage.
The pseudocode for this approach would look something like this:
FOR EACH STAGE:
CHECK IF INPUT ARTIFACT HAS CHANGES
IF INPUT ARTIFACT HAS NO CHANGES:
TRIGGER EVENTBRIDGE RULE TO SKIP STAGE
ELSE:
EXECUTE STAGE ACTIONS
Then, you can add a manual approval action to any stage where you want to require explicit approval before proceeding. Instead of using the built-in manual approval action provided by CodePipeline, you can create an EventBridge rule that sends a notification (e.g., SNS topic or Lambda function) when a stage has changes and requires manual approval.
The pseudocode for this approach would look something like this:
FOR EACH STAGE:
CHECK IF INPUT ARTIFACT HAS CHANGES
IF INPUT ARTIFACT HAS CHANGES:
TRIGGER EVENTBRIDGE RULE TO SEND MANUAL APPROVAL NOTIFICATION
WAIT FOR MANUAL APPROVAL CONFIRMATION
EXECUTE STAGE ACTIONS
Finally, the manual approval confirmation can be implemented in various ways, such as:
- Creating an approval workflow using AWS Step Functions or AWS Lambda
- Providing a custom approval mechanism (e.g., a web interface or API) that updates the pipeline's status when manual approval is granted
Key sources:
관련 콘텐츠
- AWS 공식업데이트됨 2년 전