- Newest
- Most votes
- Most comments
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:
Relevant content
- asked 2 years ago
- Accepted Answerasked a year ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 2 years ago