ハマログ

株式会社イーツー・インフォの社員ブログ

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コンソールは頻繁に変更になります
ユーザビリティ向上する場合はよいのですが、今回のような変更は障害にも繋がりかねないので、早めに改善されることを願っております

AWSCodePipeline手動デプロイ自動デプロイ

  yama   2025年2月21日


関連記事

LINE Messaging APIのテスト(はじめに)

LINE Messaging APIを試してみました。 https://busi…

AWSのRDSイベントサブスクリプションをCloudFormationで設定する

AWSのRDSイベントサブスクリプションをCloudFormationで設定する…

Google Driveでアンケートフォームを作成するの巻

こんにちは、お酒の飲めないかねこです。 この週末は、数年ぶりに酔いました(しかも…


← 前の投稿

次の投稿 →