GitHub アプリトリガーを作成する

GitHub アプリトリガーを使用すると、Git の push または pull リクエストが行われたときにビルドを自動的に開始できます。ビルドの結果は GitHub と Cloud Console の両方で確認できます。また、GitHub アプリトリガーは、既存の GitHub トリガーでサポートされているすべての機能をサポートし、Cloud Build GitHub アプリを使用して GitHub の構成と認証を行います。

このページでは GitHub アプリトリガーを作成する方法について説明します。

GitHub アプリトリガーを作成する

このセクションでは、Cloud Build GitHub アプリをインストールし、GitHub リポジトリを Cloud プロジェクトに接続して、GitHub アプリトリガーを作成する方法について説明します。

Cloud Build アプリのインストール

Cloud Build アプリをインストールして GitHub リポジトリを Cloud プロジェクトに接続するには:

  1. Google Cloud Console で [トリガー] ページを開きます。

    [トリガー] ページを開く

  2. 上部のバーにあるプロジェクト セレクタで、Cloud プロジェクトを選択します。

  3. [リポジトリを接続] をクリックします。

  4. [GitHub(Cloud Build GitHub アプリ)] を選択し、同意のチェックボックスをオンにしてから [続行] をクリックします。

  5. (任意)GitHub にログインしていない場合は、今すぐ GitHub にログインします。

    承認ページが表示され、Google Cloud Build アプリが Google Cloud Platform に接続できるよう承認を求められます。

    [authorize] ボタンのスクリーンショット

    [Authorize Google Cloud Build by GoogleCloudBuild] をクリックします。

  6. [Google Cloud Build のインストール] をクリックします。

  7. ポップアップが表示されたら、GitHub のユーザー名または組織を選択します。

  8. ビジネスニーズに応じて、次のいずれかの項目を選択します。

    • All repositories - Cloud Build アプリを介して、現在と将来のすべての GitHub リポジトリにアクセスできます。

    • Only select repositories - Select repositories のプルダウンを使用して、Cloud Build アプリを使用して特定のリポジトリにのみアクセスできるようにします。後で追加のリポジトリを有効にすることも可能です。

  9. Cloud Build アプリをインストールするには、[Install] をクリックしてください。

    ポップアップが閉じ、Cloud Console の [リポジトリを選択] ページに戻ります。このページで、GitHub リポジトリを Cloud プロジェクトに接続します。

  10. [リポジトリを選択] ページが表示されたら、次のように GitHub リポジトリを Cloud プロジェクトに接続します。

    a. 正しい GitHub アカウントが選択されていることを確認します。

    b. 各ターゲット リポジトリの横にあるチェックボックスをオンにします。

    c. 免責条項を読み、提示された条件に同意することを示すチェックボックスをオンにします。

    d. [リポジトリを接続] をクリックします。

    ターゲット リポジトリが 1 つ以上表示されない場合は、[GitHub のリポジトリを編集] をクリックして上記の手順を繰り返し、Cloud Build アプリで追加のリポジトリを有効にします。

  11. (省略可)接続するリポジトリの push トリガーを作成するには、各リポジトリの横にあるボックスをオンにし、[push トリガーを作成] をクリックします。それ以外の場合は、[今回はスキップ] をクリックします。

    これで Cloud プロジェクトに 1 つ以上の GitHub リポジトリが接続されました。 Cloud Console の [トリガー] ページが開きます。

GitHub アプリトリガーを作成する

GitHub アプリトリガーを作成するには:

  1. Google Cloud Console で [トリガー] ページを開きます。

    [トリガー] ページを開く

  2. ページ上部にあるプロジェクト セレクタのプルダウン メニューからプロジェクトを選択します。

  3. [開く] をクリックします。

  4. [トリガーを作成] をクリックします。

  5. 次のトリガー設定を入力します。

    • 名前: トリガーの名前を入力します。

    • 説明(省略可): トリガーの説明を入力します。

    • イベント: トリガーを起動するリポジトリ イベントを選択します。

      • ブランチに push する: 特定のブランチに対して commit が行われたときにビルドを開始するトリガーを設定します。

      • 新しいタグを push する: 特定のタグを含む commit が行われたときにビルドを開始するトリガーを設定します。

      • pull リクエスト(GitHub アプリのみ): pull リクエストの commit が行われたときにビルドを開始するトリガーを設定します。

    • ソース: イベントを監視するリポジトリと、対応するブランチまたはタグを選択します。

      • リポジトリ: 使用可能なリポジトリのリストから目的のリポジトリを選択します。新しいリポジトリに接続するには、ソース リポジトリへの接続をご覧ください。

      • ブランチまたはタグ: ブランチまたはタグの値にマッチングさせる正規表現を指定します。有効な正規表現の構文については、RE2 構文をご覧ください。

      • コメント制御: イベントとして pull リクエスト(GitHub アプリのみ)を選択した場合は、ビルドをトリガーによって自動的に実行するかどうか、次のいずれかのオプションを選択します。

        • Required except for owners and collaborators: pull リクエストがリポジトリ所有者または共同編集者によって作成または更新されると、ビルドが自動的にトリガーによって実行されます。外部の投稿者がアクションを開始する場合、その pull リクエストで所有者または共同編集者が /gcbrun にコメントした後にのみビルドが実行されます。

        • 必須: 投稿者を問わず pull リクエストが作成または更新されると、所有者または共同編集者が pull リクエストに /gcbrun とコメントした後にのみビルドが実行されます。

        • 不要: 投稿者を問わず pull リクエストが作成または更新されると、ビルドが自動的にトリガーで実行されます。

    • 含まれるファイル(省略可): 少なくとも 1 つのファイルに影響する変更があった場合は、ビルドが開始されます。

    • 無視されるファイル(省略可): 無視されるファイルにのみ影響する変更があった場合は、ビルドが開始されません。

    • ビルド構成: ビルドに使用するビルド構成ファイル(Cloud プロジェクトに接続された GitHub リポジトリに格納されているファイル)を選択します。

      • ビルド構成に Dockerfile を使用するには、Dockerfile ディレクトリと生成されるイメージの名前を指定する必要があります。Dockerfile とイメージ名を指定すると、ビルドが実行される docker build コマンドのプレビューが表示されます。

      • ビルド構成にビルド構成ファイルを使用するには、ビルド構成ファイルの場所を指定する必要があります。必要に応じて、使用する代入変数を指定することもできます。

  6. [作成] をクリックして、ビルドトリガーを保存します。

さまざまなタイプの GitHub ベーストリガー

ソースコードが GitHub にある場合、Cloud Build では 2 つの方法でビルドを自動的に開始できます。このセクションでは、2 つの GitHub ベーストリガーについて説明し、機能を比較します。

  • GitHub トリガー: GitHub トリガーを作成すると、Cloud Build は GitHub リポジトリを Cloud Source Repositories にミラーリングし、ミラーリングしたリポジトリをすべての操作で使用します。Cloud Console を使用して GitHub トリガーの作成と管理を行うことができます。

  • GitHub アプリトリガー: GitHub アプリトリガーは Cloud Build GitHub アプリを使用して GitHub の構成と認証を行います。GitHub アプリトリガーを使用すると、Git の push と pull のリクエスト時にビルドを自動的に開始できます。ビルドの結果は GitHub と Cloud Console で確認できます。Cloud Console または Cloud Build API を使用して GitHub アプリトリガーの作成と管理を行うことができます。

次の表で、GitHub トリガーと GitHub アプリトリガーの機能を比較します。

機能 GitHub トリガー GitHub アプリトリガー
ソースコードへの push 時にビルドを開始する
pull リクエスト時にビルドを開始する ×
Cloud Console を使用してトリガーを作成する
Cloud Build API を使用してトリガーを作成する ×
Cloud Build GitHub アプリを使用してトリガーを作成する ×
Cloud Console でビルド ステータスを表示する
GitHub でビルド ステータスを表示する ×

次のステップ