AWS CodeBuildとGitHub連携した場合のビルドのトリガー設定

2021.09.06

AWS CodeBuildとGitHubをWebhook連携した場合において、よく使うと思われるトリガー設定をいくつか試しました。公式以外の情報が少ないように感じたため、本記事で共有します。

本記事で紹介する設定方法については、主に下記のブログを参考にさせて頂きました。

AWS CodeBuildでGitHub Webhookイベントをフィルタリングする - あとらすの備忘録

設定箇所

  • CodeBuildプロジェクト作成済
  • CodeBuildとGitHub連携済

という前提で進めていきます。

CodeBuildプロジェクトを開いて、「編集」から「ソース」を選択します。

「プライマリソースのウェブフックイベント」の「ウェブフックイベントフィルタグループ 1」を確認します。

こちらの

  • 「イベントタイプ」
  • 「これらの条件でビルドを開始する」の「HEAD_REF - オプショナル」

の値がキーになります。

値を変更したら「ソースの更新」ボタンの押下を忘れないようにしましょう。

何かしらプッシュされたらビルド

  • イベントタイプ: プッシュ
  • HEAD_REF: 空欄(何も入力しない)

どのブランチにプッシュされてもビルドが走ります。

特定ブランチへプッシュされたらビルド

  • イベントタイプ: プッシュ
  • HEAD_REF: ^refs/heads/main$

mainブランチにプッシュされた場合にビルドが走ります。

タグが打たれたらビルド

プライマリソースのウェブフックイベント

  • イベントタイプ: プッシュ
  • HEAD_REF: ^refs/tags/v.*

v1.0.0 のようなタグが打たれた場合にビルドが走ります。

こちらは実際にやってみた結果を共有します。

連携したGitHubリポジトリで「Releases」→「Draft a new release」を押下します。

このように「v」から始まるrelease tagを作ります。セマンティックバージョニングカレンダーバージョニングなどプロジェクトの規約に従いましょう。

「Publish release」を押下するとタグが作成されます。

作成されたことを確認します。

ではCodeBuildを見に行きましょう。

意図通り、新しいビルドが開始されていました。