[アップデート] AWS CloudFormation の Git 同期機能がプルリクエストにスタック変更内容をコメントしてくれるようになりました

[アップデート] AWS CloudFormation の Git 同期機能がプルリクエストにスタック変更内容をコメントしてくれるようになりました

Clock Icon2024.09.21

いわさです。

AWS CloudFormation は Git リポジトリとスタックを同期させて、簡易的な CI/CD 環境を用意することが出来ます。
今朝のアップデートでこちらが強化され、CloudFormation がプルリクエストにスタックへの変更内容をコメントしてくれるようになりました。

https://aws.amazon.com/about-aws/whats-new/2024/09/aws-cloudformation-git-sync-supports-pull-request-workflows/

Git 同期では CloudFormation が特定のブランチを監視し、変更が発生すると自動でスタックがプロビジョニングされるような動きとなっているのですが、このアップデートではユーザーが作成したプリリクエストのマージ先が監視対象のリポジトリだった場合、マージ前でスタック変更セットの内容をプルリクエスト上でコメントしてくれます。

これによってレビューアやマージ作業者はプルリクエストのマージ前にスタックに発生するであろう変更内容をチェックした上でマージ判断を行うことが出来ます。

本日は GitHub リポジトリを使ってこちらの機能を試してみましたので紹介します。

プルリクエストへのコメント機能を有効化するだけ

今回の機能を使う方法ですが、Git 同期のリポジトリ・ブランチ設定を行う箇所の下部に次のように「Enable comment on pull request」コントロールが追加されています。こちらを有効化することでプルリクエストへのコメントを行ってくれるようになります。(デフォルト有効化)

CCFADC0B-E663-487A-94DB-80B0E83D1A26.png

最初プルリクエストを自動で作成して何かコメントしてくれるのか?と思って監視リポジトリに直接変更をプッシュしてみたのですが、これは普通にそのままデプロイされました。

A5AF5369-B42E-414F-9E39-531879DE0110.png

今回の機能はプルリクエストを作成することで機能します。
CloudFormation の同期設定では監視ブランチに main を指定していたので、別のブランチを作成しそこへプッシュした変更で main へのブルリクエストを作成してみました。

VPC をデプロイするだけのテンプレートなのですが、タグを追加したり一部プロパティの設定を追加してます。

6FCF58B0-35EC-4EEE-B742-917FD1F16205.png

プルリクエスト作成直後は何もコメントが発生せずにおやおや?と思ったのですが、少し待っているとコメントが発生しました。おっ。

28B7493F-F809-455B-82C0-C063A558491C.png

このテンプレート変更が、実際にスタック上どう反映されるのかをマージ前に確認することが出来ますね。
特に Replacement の有無の確認をしたいケースは多いと思っていて、これは安心してレビューが出来ます。

E400CF29-AAFF-4E93-B5BB-F185A249B6CA.png

さいごに

本日は AWS CloudFormation の Git 同期機能がプルリクエストにスタック変更内容をコメントしてくれるようになったので試してみました。

これ非常に良いのでは。
Git 同期せずに CloudFormaiton のスタックを更新する場合も、スタックへの変更内容をチェックしてデプロイをやめることがあると思うのですが(私はよくやる)、あれがプリリクエストのマージ段階で出来るようになり、CloudFormation の Git 同期機能がより安全に使いやすくなりました。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.