AWS CodePipelineで手動デプロイ
デプロイの運用で、検証環境は自動デプロイ・本番環境は手動デプロイというような運用を行いたい場合があります
AWS CodePipelineでは、以前はAWSコンソールで手動か自動かを選択する設定があったのですが、最近変更になってそのような設定が表示されなくなってしまいました
対応方法について調べ、確認してみましたので紹介します
1. 現状の設定をAWS CLIで確認する
AWSコンソールでパイプラインを作成します
デフォルトではトリガーを設定していない状態では自動デプロイになっているかと思います
ただし設定状態をコンソール上から確認することはできません
CLIでコマンド実行して、対象のCodePipelineの情報を取得できます
ただ"DetectChanges": "true"
の記述があるとのことでしたが、この環境では見つかりませんでした
デフォルト値がtureということでしょうか
$ aws codepipeline get-pipeline --name project-example { "pipeline": { "roleArn": "arn:aws:iam::000000000:role/service-role/Role-region-project-example", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "region": "region", "namespace": "SourceVariables", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "CodeStarSourceConnection" }, "outputArtifacts": [ { "name": "SourceArtifact" } ], "configuration": { "ConnectionArn": "000000000", "FullRepositoryId": "000000000", "BranchName": "target_branch", "OutputArtifactFormat": "CODE_ZIP" }, "runOrder": 1 } ] } ] } }
2. 手動設定に変更する
コンソールのCodePipeline >> トリガー >> 「トリガーの編集」から「トリガーを追加」を選択し、トリガーを追加します
手動設定にするには、「Webhook – オプショナル」の下の「Start your pipeline on push and pull request events.」のチェックを外して、「追加」を選択します
トリガーの設定を行い追加後に、「完了」を選択します
この状態では完了後もコンソール上に変化はない状態です
最後に「保存」を選択します
この状態でCLIでコマンド実行して情報を確認してみます
"DetectChanges": "false"
が追加されています
$ aws codepipeline get-pipeline --name project-example { "pipeline": { "roleArn": "arn:aws:iam::000000000:role/service-role/Role-region-project-example", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "region": "region", "namespace": "SourceVariables", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "CodeStarSourceConnection" }, "outputArtifacts": [ { "name": "SourceArtifact" } ], "configuration": { "ConnectionArn": "000000000", "FullRepositoryId": "000000000", "BranchName": "target_branch", "DetectChanges": "false", <====================追加されている "OutputArtifactFormat": "CODE_ZIP" }, "runOrder": 1 } ] } ] } }
これで手動デプロイになりました
コンソール上で確認できないので非常に分かりにくいです
AWSコンソールは頻繁に変更になります
ユーザビリティ向上する場合はよいのですが、今回のような変更は障害にも繋がりかねないので、早めに改善されることを願っております