Cloud Build を使用した Git からの継続的なデプロイ

Cloud Build を使用してビルドと Cloud Run へのデプロイを自動化するには、Cloud Build トリガーを使用します。これにより、新しい commit が Git リポジトリの特定のブランチに push されると自動的にコードがビルドされデプロイされるようになります。例については、テンプレート リポジトリを作成し、git から継続的にデプロイするのクイックスタートをご覧ください。

Cloud Build トリガーを使用してコンテナをビルドすると、Cloud Run へのデプロイ後に、サービスの Google Cloud コンソールにソース リポジトリ情報が表示されます。

あるいは、Cloud Deploy を使用して継続的デリバリー パイプラインを設定し、Cloud Run サービスを複数の環境にデプロイすることもできます。

始める前に

  • Git リポジトリに Dockerfile が含まれているか、コードベースが Google Cloud の Buildpack でサポートされている言語のいずれかで記述されている必要があります。
  • Cloud Build API を有効にします。

    API を有効にする

必要なロール

Cloud Build を使用して Git から Cloud Run サービスをデプロイするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ビルドを実行するサービス アカウントには、次のロールが必要です。

Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールCloud Run IAM 権限をご覧ください。Cloud Run サービスが Google Cloud APIs(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限アクセスの管理をご覧ください。

Cloud Run ユーザー インターフェースを使用して継続的デプロイを設定する

この手順は、新しいサービスまたは既存のサービスのどちらで継続的デプロイを設定するかによって若干異なります。該当するタブをクリックして詳細をご覧ください。

新しいサービス

  1. 新しいサービスをデプロイするの説明に沿って、新しいサービスを作成します。その際は、必ず [サービスの設定] ページの [ソース リポジトリから新しいリビジョンを継続的にデプロイする] を選択してください。

  2. [サービスの設定] ページで [Cloud Build を設定] をクリックします。

  3. GitHub がデフォルトのリポジトリ プロバイダです。まだ認証されていない場合は、[認証] をクリックして画面の指示に従います。リポジトリの接続には、Cloud Build GitHub アプリを使用します。

    継続的デプロイの設定ステップ 1

  4. [次へ] をクリックします。

  5. [ビルド構成] ステップのオプションを入力します。

    • ブランチ - トリガーの実行時に使用するソースを指定します。ここには正規表現を含めることができます。一致したブランチが自動的に検証され、入力の下に示されます。なお、ブランチが 1 つだけ一致した場合、作成後にトリガーが自動的に実行されます。
    • ビルドタイプ

      • Docker を使用してリポジトリを作成し、そこに Dockerfile が含まれている場合は、[Dockerfile] を選択します。[ソースの場所] は、Dockerfile の場所と名前を示します。このディレクトリが Docker ビルド コンテキストとして使用されます。すべてのパスは、現在のディレクトリを基準とした相対パスにする必要があります。

      • それ以外の場合は、[Google Cloud Buildpacks] を選択します。Buildpack コンテキストを使用してディレクトリを指定して、サーバーを起動するコマンドを入力します(オプションでエントリポイントを指定することもできます)。例: Python の場合は gunicorn -p :8080 main:app、Java の場合は java -jar target/myjar.jar と入力します。デフォルトの動作を使用する場合は空白のままにします。

    継続的デプロイの設定ステップ 2

  6. [保存] をクリックします。

  7. 選択した設定を確認します。

    継続的デプロイの設定の確認

  8. [作成] をクリックします。

  9. [サービスの詳細] ページにリダイレクトされます。このページで、継続的デプロイの設定の進捗状況を追跡できます。

  10. すべてのステップが完了したら、追加のオプションを確認します。

既存のサービス

  1. Cloud Run に移動

  2. サービスリストでサービスを見つけてクリックします。

  3. [継続的デプロイの設定] をクリックします。

  4. GitHub がデフォルトのリポジトリ プロバイダです。まだ認証されていない場合は、[認証] をクリックして画面の指示に従います。リポジトリの接続には、Cloud Build GitHub アプリを使用します。

    継続的デプロイの設定ステップ 1

  5. [次へ] をクリックします。

  6. [ビルド構成] ステップのオプションを入力します。

    • ブランチ - トリガーの実行時に使用するソースを指定します。ここには正規表現を含めることができます。一致したブランチが自動的に検証され、入力の下に示されます。なお、ブランチが 1 つだけ一致した場合、作成後にトリガーが自動的に実行されます。
    • ビルドタイプ

      • Docker を使用してリポジトリを作成し、そこに Dockerfile が含まれている場合は、[Dockerfile] を選択します。[ソースの場所] は、Dockerfile の場所と名前を示します。このディレクトリが Docker ビルド コンテキストとして使用されます。すべてのパスは、現在のディレクトリを基準とした相対パスにする必要があります。

      • それ以外の場合は、[Google Cloud Buildpacks] を選択します。Buildpack コンテキストを使用してディレクトリを指定して、サーバーを起動するコマンドを入力します(オプションでエントリポイントを指定することもできます)。例: Python の場合は gunicorn -p :8080 main:app、Java の場合は java -jar target/myjar.jar と入力します。デフォルトの動作を使用する場合は空白のままにします。

    継続的デプロイの設定ステップ 2

  7. [保存] をクリックします。

  8. ページが再読み込みされて、継続的デプロイの設定の進行状況が表示されます。

  9. すべてのステップが完了したら、追加のオプションを確認します。

継続的デプロイを手動で設定する

UI ではなく手動で行う必要がある場合は、継続的デプロイを手動で設定するをご覧ください。

既存の Cloud Build トリガーを Cloud Run サービスに関連付ける

既存の Cloud Build トリガーがある場合は、[サービスの詳細] ページでそのトリガーをサービスに関連付けて、Google Cloud コンソールの機能([継続的デプロイを編集] ボタンと [ビルド履歴] グラフ)を利用できます。

これを行うには、キーとして gcb-trigger-id を使用し、値として Cloud Build トリガーの(トリガー名ではなく)固有識別子を設定したラベルを追加します。ラベルの設定については、ラベルを設定または変更するをご覧ください。