[アップデート]AWS CodePipelineでソースリビジョンを上書きして実行できる機能がリリースされました

2023.11.23

こんにちは、オペレーション部の坂本です。

2023年11月23日にAWS CodePipelineでソースリビジョンを上書きして実行できる機能がリリースされました。 今までは手動でパイプラインを実行する際は、最新リビジョンが自動的に選択されいましたが、過去のリビジョンを選択して、手動できるようになりました。 リリースした後に不具合を見つけた時に素早く過去のバージョンに戻したいという時に気持ち楽になるかもしれませんね。

※本機能はV2のみの機能です。

AWS CodePipeline supports starting a pipeline execution with source revision overrides

コンソール画面

CodeCommit画面を見ると、リビジョンを指定できるようになっています。

やってみた

バージョニングされた S3 バケット と CodeDeploy を使用して、EC2に静的なhtmlファイルのデプロイして検証してみようと思います。
CodePipeline実行(1回目) → ソース変更+CodePipeline実行(2回目) → CodePipeline実行(リビジョン指定) の順番で進めます。

CodePipeline実行(1回目)

S3にファイルを配置してCodePipelineを実行します。 後でこのバージョンにロールバックするため、赤矢印のS3のバージョンIDを控えます。

静的ファイルが表示されたことを確認します。

ソース変更+CodePipeline実行(2回目)

S3のソースファイルを変更して、CodePipelineを実行し、静的ファイルが変更されたことを確認します。 ※赤矢印を確認すると新しいS3のバージョンIDを参照していることがわかります。

CodePipeline実行(リビジョン指定) 

"CodePipeline実行(1回目)"で控えたIDを指定して、リビジョンを指定して実行します。

過去のS3バージョンnをソースにCodePipelineを実行していることがわかります。

CodePipeline実行(AWS CLIでリビジョン指定) 

AWS CLIからリビジョン指定して実行することもできました。

$ aws codepipeline start-pipeline-execution --name MySamplePipeline --source-revisions actionName=Source,revisionType=S3_OBJECT_VERSION_ID,revisionValue=aMZTIbqPbkj6mbQD3drGHTGzmt_u7_oX --region ap-northeast-1
{
    "pipelineExecutionId": "55df1fa3-0ca8-48f7-997a-8bdf9c438a4a"
}

まとめ

リビジョン指定した、CodeCommitの実行をS3のバージョンIDを指定して、検証してみました。 他にもCOMMIT_ID、IMAGE_DIGESTをソースリビジョンに指定ができます。

ただし、COMMIT_ID および IMAGE_DIGEST タイプのソース リビジョンの場合、ソース リビジョン ID はリポジトリ内のすべてのブランチのすべてのコンテンツに適用されますのでご注意ください。