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

Cloud Build を使用してビルドと Knative serving へのデプロイを自動化するには、Cloud Build トリガーを使用します。これにより、新しい commit が Git リポジトリの特定のブランチに push されると自動的にコードがビルドされデプロイされるようになります。

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

始める前に

  • Git リポジトリに Dockerfile が含まれているか、コードベースが Google Cloud の Buildpack でサポートされているいずれかの言語(Go、Node.js、Python、Java、NET Core)である必要があります。
  • Enable the Cloud Build and Cloud Source Repositories APIs.

    Enable the APIs

Knative serving ユーザー インターフェースから継続的デプロイを設定する

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

新しいサービス

  1. Google Cloud コンソールで Knative serving に移動します。

    Knative serving に移動

  2. [サービスを作成] をクリックします。

  3. [サービスの設定] に設定を入力します。

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

  5. [ソース リポジトリから新しいリビジョンを継続的にデプロイする] を選択します。

    Cloud Build の設定

  6. [Cloud Build の設定] をクリックします。

  7. プロバイダとリポジトリを選択します。

    • GitHub - まだ認証されていない場合は、[認証] をクリックして画面の指示に従います。デフォルトでは、リポジトリの接続は Cloud Build GitHub アプリから行われますが、GitHub リポジトリを Cloud Source Repositories にミラーリングすることもできます。その場合は、[詳細オプション] をクリックして、[Cloud Source Repositories を使用して GitHub リポジトリをミラーリングする] をオンにします。詳細
    • Bitbucket - まだ認証されていない場合は、[認証] をクリックして画面の指示に従います。
    • Cloud Source Repositories

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

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

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

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

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

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

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

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

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

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

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

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

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

既存のサービス

  1. Google Cloud コンソールで Knative serving に移動します。

    Knative serving に移動

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

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

  4. プロバイダとリポジトリを選択します。

    • GitHub - まだ認証されていない場合は、[認証] をクリックして画面の指示に従います。デフォルトでは、リポジトリの接続は Cloud Build GitHub アプリから行われますが、GitHub リポジトリを Cloud Source Repositories にミラーリングすることもできます。その場合は、[詳細オプション] をクリックして、[Cloud Source Repositories を使用して GitHub リポジトリをミラーリングする] をオンにします。詳細
    • Bitbucket - まだ認証されていない場合は、[認証] をクリックして画面の指示に従います。
    • Cloud Source Repositories

    継続的デプロイの設定ステップ 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 トリガーを Knative serving サービスに関連付ける

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

それには、キーとして gcb-trigger-id を使用し、値として Cloud Build トリガーの(トリガー名ではなく)固有識別子を設定したラベルを追加する必要があります。ラベルの設定方法については、こちらの手順をご覧ください。