Cloud Build トリガー

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Cloud Build は、ビルドトリガーを使用して CI / CD の自動化を有効にします。 新しい commit がリポジトリに push されたときや、pull リクエストが開始されたときなどでの受信イベントをリッスンし、新しいイベントが生じたときにビルドを自動的に実行するようにトリガーを構成できます。ソース リポジトリが変更された場合や、特定の条件に一致する変更があった場合にコードをビルドするようにトリガーを構成することもできます。

このページでは、トリガーのタイプとトリガーに関連付けられている機能の概要について説明します。

リポジトリ イベント トリガー

Cloud Build を使用すると、push リクエストや pull リクエストなどのリポジトリ イベントでビルドを自動的に実行できます。GitHub や Bitbucket のリポジトリなどの外部リポジトリを Cloud Build に接続することも、Cloud Source Repositories のコードをビルドに使用することもできます。任意のソース リポジトリを Cloud Build に接続できますが、Cloud Build には特定のリポジトリ イベント トリガーが用意されており、これを使用すると特定のソースコード管理システム(SCM)を簡単に統合できます。このセクションでは、利用可能なリポジトリ イベント トリガーについて説明します。

GitHub トリガー

GitHub トリガーを作成すると、push リクエストや pull リクエストなどのリポジトリ イベントに応答してビルドを自動的に実行できます。 トリガーのビルド ステータスは、GitHub と Google Cloud コンソールで確認できます。Cloud Build GitHub アプリを使用して、GitHub のコードに接続し、ビルドすることもできます。 詳しくは、GitHub からのリポジトリのビルドをご覧ください。

GitHub Enterprise トリガー

GitHub Enterprise インスタンスでホストされているリポジトリのトリガーを作成できます。これには、オンプレミス環境でホストされ、公共のインターネット接続を介して到達することができないインスタンスが含まれます。GitHub Enterprise トリガーを使用して、GitHub Enterprise インスタンスからの push リクエストまたは pull リクエストに応答してビルドを実行できます。詳しくは、GitHub Enterprise からのリポジトリのビルドをご覧ください。

GitLab Enterprise Edition トリガー

GitLab Enterprise Edition インスタンスでホストされているリポジトリ(プライベート ネットワークでホストされているインスタンスを含む)のトリガーを作成できます。GitLab Enterprise Edition トリガーを使用すると、GitLab Enterprise Edition リポジトリに関連付けられた commit push または pull リクエストに応答してビルドを実行できます。詳細については、GitLab Enterprise Edition のリポジトリのビルドをご覧ください。

Bitbucket Server トリガー

Bitbucket Server インスタンスでホストされているリポジトリのトリガーを作成できます。これには、オンプレミス環境でホストされているインスタンスが含まれます。Bitbucket Server リポジトリは、複数のホスト接続を使用して Cloud Build に複数回接続できます。イベントに応答してビルドを実行するトリガーの作成方法については、Bitbucket サーバーからのリポジトリのビルドをご覧ください。

Bitbucket データセンター トリガー

Bitbucket データセンター インスタンスでホストされているリポジトリのトリガーを作成できます。これには、オンプレミス環境でホストされているインスタンスが含まれます。Bitbucket Data Center トリガーを使用して、commit の push リクエストや pull リクエストなどのイベントに応答してビルドを実行できます。詳しくは、Bitbucket データセンターからのリポジトリのビルドをご覧ください。

手動トリガー

手動トリガーを作成してビルドを手動で実行し、ビルド実行前の呼び出し時に置換変数の値をオーバーライドできます。手動トリガーをスケジュールに従って実行するように構成することもできます。詳しくは、ソース リポジトリでコードを手動でビルドするをご覧ください。

Pub/Sub トリガー

Pub/Sub を介して公開されたメッセージに応答してビルドを実行する Pub/Sub トリガーを作成できます。たとえば、Artifact Registry へのイメージの push に応答して、Pub/Sub トリガーを使用してビルドできます。この場合、push されたイメージが prod などの特定のタグと一致する場合にのみビルドを実行するようにフィルタを構成できます。また、任意の Pub/Sub トピックをサブスクライブするように Pub/Sub トリガーを構成することもできます。詳しくは、Pub/Sub イベントに応答してビルドを自動化するをご覧ください。

Webhook トリガー

Webhook に応答してビルドを実行する Webhook トリガーを作成できます。カスタム URL に送信される Webhook イベントを使用すると、外部システムと Bitbucket.com、Bitbucket Server、GitLab などの外部ソースコード管理システム(SCM)を Cloud Build に直接接続できます。Webhook トリガーを作成するときに、トリガーにビルド構成をインラインで定義し、ビルドの際にソースを明示的に指定するのではなく、トリガーのクローンを作成するリポジトリを制御することもできます。詳しくは、Webhook イベントに応答してビルドを自動化するをご覧ください。また、Webhook トリガーを使用して特定の SCM からリポジトリを作成する方法については、Bitbucket サーバーからのリポジトリのビルドBitbucket Cloud からのリポジトリのビルドGitLab からのリポジトリのビルドをご覧ください。

トリガー機能

Cloud Build トリガーは、ビルドの実行方法を詳細に制御できる機能を提供します。このセクションでは、トリガーに関連するさまざまな機能について説明します。

手動トリガーのスケジュール設定

手動トリガーをスケジュールして、事前に定義されたスケジュールでビルドを自動的に実行できます。たとえば、毎週土曜日の午前 6 時にビルドを実行するようにスケジュールされたトリガーを構成できます。ビルドをスケジュールするには、手動トリガーを作成し、Cloud Scheduler を使用してトリガーを呼び出します。詳しくは、ビルドのスケジュール設定をご覧ください。

イベントのフィルタリング

Cloud Build は、Build リソースにリストされているフィールドの変数 buildCommon Expression Language(CEL)を使用して、トリガー ID、イメージリスト、置換変数などのビルドイベントと関連するフィールドにアクセスします。filter 文字列を使用すると、Build リソースに表示されているフィールドを使用してビルド構成ファイル内のビルドイベントをフィルタリングできます。詳しくは、CEL を使用したビルドイベントのフィルタリングをご覧ください。

代入変数

ビルド構成ファイルで置換変数を指定して、ビルド時に特定の値を置換できます。たとえば、ビルド時まで値が不明な場合や、既存のビルド リクエストを別の変数で再利用する場合は、置換変数を使用できます。 Cloud Build には、トリガー名やリポジトリ名への変数のマッピングなど、トリガーによって呼び出されたビルドに使用できるデフォルトの置換が用意されています。独自の置換変数を定義することもできます。 詳しくは、変数値の置換をご覧ください。

bash パラメータの拡張

bash パラメータの拡張を置換変数値に適用できます。bash パラメータの拡張では、既存の変数に関連付けられた文字列を操作できます。たとえば、bash パラメータの拡張を使用して、文字を大文字にしたり、部分文字列を置換したりできます。詳細については、bash パラメータの拡張をご覧ください。

ペイロード バインディング

ペイロード バインディングを使用すると、トリガーのイベント ペイロードの一部を置換変数として保存できます。ペイロードに関連付けられた変数はバインディングと呼ばれ、push イベントと pull イベントの両方によって呼び出されるビルドで使用できます。バインディングを使用すると、pull リクエストの作成者など、ビルドに関連する追加データにアクセスできます。詳細については、ペイロード バインディングをご覧ください。

ビルドの承認

ビルドを直ちに実行するのではなく、承認されるまでビルドを保留としてマークするようにトリガーを構成できます。保留中のユーザーが保留中のビルドを承認すると、ビルドが開始します。承認が拒否された場合は、ビルドは開始されません。承認を必要とするトリガーを構成する方法については、承認時のゲートビルドをご覧ください。

ビルド ステータスの通知

Pub/Sub cloud-builds トピックからビルドイベントの更新をリッスンするように Cloud Build Notifier を構成できます。 Notifier は、トピックによって受信されたメッセージをフィルタし、目的のサービスにメッセージを送信することもできます。Cloud Build では、デプロイ可能な Notifier イメージが cloud-build-notifiers リポジトリで管理されています。BigQueryHTTPSlackSMTP などの Cloud Build Notifier を使用して通知を構成するか、独自の Notifier を作成できます。

次のステップ