AWS Amplify の新コンソール上でもブランチの自動検出&環境作成をやりたい
いわさです。
AWS Amplify では GitHub などのリポジトリとそのブランチを指定してアプリケーション環境をデプロイすることが出来ます。
main や develop などの恒久的なブランチであれば一度設定すればずっとアプリケーションが更新されつづけますが、feature ブランチなどの一時的なブランチについてはその都度作成をする必要があります。
これを解消するために、Amplify にはブランチの自動検出機能があります。
上記の機能で実現できるのですが、2020 年と旧世代の Amplify コンソールのため、現行画面だとどこで設定するのかわかりません。
本記事では現行バージョンにて feature ブランチ作成時の環境自動作成と、プルリクエスト後にブランチが削除された際の環境自動削除を試してみましたので紹介します。
ブランチ自動検出設定を行う
まず、以下が設定前の状態です。
手動で feature ブランチを追加して環境を作成しています。サンドボックスで良いシーンもあるのですが、データマネージャーを使いたいとか Amplify コンソール上からフル機能が使えるとテストの時に便利だったりするので私はよく feature ブランチから環境作成を行っています。
アプリケーション設定の「ブランチ設定」を開きます。
こちらに実はブランチの自動検出機能がありましてデフォルトはオフになっています。
「リポジトリを再接続」の右側の「編集」ボタンから設定を行います。
ここで自動検出するブランチ名のパターンを指定します。
デフォルトだと全ブランチを検出するようになっているので、ここで必要なパターンを指定します。
私は「feature/*」を指定しました。
さらに、設定画面右側の「ブランチの接続の自動解除」オプションを有効化すると、ブランチの削除も検出できるようになります。
リモートブランチが削除された時にあわせて Amplify 上の環境も削除してくれます。
ブランチの作成と削除を行ってみる
ここまでで設定は終わりです。簡単ですね。
実際にリモートブランチを操作して試してみます。
まずは feature ブランチを作成します。
そうすると Amplify 上のブランチ一覧に自動で接続がされました。
デプロイも自動で開始されていますね。すごい。
続いて feature ブランチから main ブランチにプルリクエストをマージした時を試してみます。
プルリクエストマージ後にブランチを削除します。
そうすると先ほど自動接続されたブランチ接続が解除され、環境も削除されました。完璧です。
さいごに
本日は、新 AWS Amplify コンソール上でブランチの自動検出&環境作成を設定してみました。
ブランチ運用をしており、一時的なブランチごとに環境作成が面倒だったという方は利用してみてください。
なお冒頭の記事ではカスタムドメインの自動設定まで行っています。
私は今回不要だったので試していませんが、新しいコンソール上ではブランチパターンを指定したカスタムドメイン設定を行う箇所が見当たらなかったのでここはもしかしたら出来ないかもしれません。
そちらについてはまた探してみます。