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

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

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

始める前に

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

    API を有効にする

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 トリガーの(トリガー名ではなく)固有識別子を設定したラベルを追加する必要があります。ラベルの設定方法については、こちらの手順をご覧ください。