Can I make my CodePipeline only executed when triggered manually

Viewed 3021

I have a CodePipeline setup. But now I want to only have my Pipeline run when I trigger it manually, is that possible?

3 Answers

This worked for me:

Set up a regular pipeline with Github webhook set. This will create and register an internal aws webhook. Then simply deregister and remove the webhooks like it is written in the aws docs via aws-cli.

Adjust the following to your region, mine is us-east-2:

Find out the name of the webhook:

aws codepipeline list-webhooks

De-register:

aws codepipeline deregister-webhook-with-third-party --webhook-name <webhook-name>

Delete:

aws codepipeline delete-webhook --name <webhook-name>

Note: It's necessary to have the source step configured to use the Github webhook.

Now you can trigger your pipeline manually via AWS Console or via aws-cli with:

aws codepipeline start-pipeline-execution --name <pipeline-name>

You need configure your CodePipeline to be triggered by CloudWatch event. Once you've done that, an event rule under CloudWatch named "codepipeline-{repository_name}" will be created.

Disabling this rule will stop CodePipeline from been triggered by CodeCommit. When you need a build, just click 'Release Change' button.

Related