Google Cloud コンソールでパイプラインを作成してリリースする

このページでは、Google Cloud コンソールを使用して Cloud Deploy デリバリー パイプラインを作成し、そのパイプラインのリリースを作成する方法について説明します。

このクイックスタートでは、以下の内容を行います。

  1. 2 つの GKE クラスタを作成するか、2 つの Cloud Run サービスを構成します。

  2. Google Cloud コンソールを使用してデリバリー パイプラインターゲットを作成する

  3. Google Cloud コンソールを使用してリリースを作成して、デリバリー パイプラインをインスタンス化します。

    このリリースを作成すると、アプリケーションがターゲットに自動的にデプロイされます。

  4. Google Cloud コンソールで結果を確認します。

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Deploy, Cloud Build, GKE, Artifact Registry, Cloud Run, and Cloud Storage APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Deploy, Cloud Build, GKE, Artifact Registry, Cloud Run, and Cloud Storage APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. CLI がすでにインストールされている場合は、最新バージョンを実行していることを確認してください。

    gcloud components update
    

ランタイム環境を作成する

Cloud Run にデプロイする場合は、以下のコマンドをスキップできます

GKE の場合は、デフォルトの設定で quickstart-cluster-for-console-stagingquickstart-cluster-for-console-prod の 2 つのクラスタを作成します。クラスタの Kubernetes API エンドポイントは、公共のインターネットからネットワークに到達可能である必要があります。GKE クラスタには、デフォルトで外部からアクセス可能です。

gcloud container clusters create-auto quickstart-cluster-for-console-staging \
                 --project=PROJECT_ID \
                 --region=us-central1 && \
gcloud container clusters create-auto quickstart-cluster-for-console-prod \
                 --project=PROJECT_ID \
                 --region=us-central1

デリバリー パイプラインとターゲットを作成する

Cloud Deploy を使用すると、1 つ以上の YAML ファイルで指定された構成に基づいてデリバリー パイプラインとターゲットを作成できます。Google Cloud コンソールを使用して配信パイプラインを作成することもできます。

このセクションでは、Google Cloud コンソールを使用して、デリバリー パイプラインと 2 つのターゲットを作成します。Google Cloud コンソールを使用する場合は、YAML ファイルを作成する必要はありません。Cloud Deploy により、skaffold.yaml とマニフェストが作成されます。

  1. Google Cloud コンソールで、Cloud Deploy のメインページに移動します。

    [デリバリー パイプライン] ページを開く

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

    Google Cloud コンソールの Cloud Deploy メインページ

    [デリバリー パイプラインを作成] フォームが表示されます。

  3. [パイプライン名] フィールドでデフォルトのテキストを in-console-quickstart-pipeline に置き換えます。

  4. 必要に応じて、このデリバリー パイプラインの説明を入力します。

  5. [リージョン] プルダウンで、[us-central1] を選択します。

  6. ランタイムを選択する。

    GKE にデプロイする場合は、[Google Kubernetes Engine] を選択します。それ以外の場合は、[Cloud Run] を選択します。

  7. ターゲットを作成します。

    GKE

    1. [新しいターゲット] の [ターゲット名] フィールドで、デフォルトのテキストを console-staging に置き換えます。

    2. [Kubernetes Engine クラスタ] プルダウンから [quickstart-cluster-for-console-staging] を選択します。

    3. [完了] をクリックします。

    4. [ターゲットを追加] をクリックします。

      [ターゲット名] のデフォルトのテキストを console-prod に置き換えます。

    5. [Kubernetes Engine クラスタ] プルダウンから [quickstart-cluster-for-console-prod] を選択します。

    6. [ロールアウトの承認を必須にする] を選択します。

      このクイックスタートでは、2 番目のターゲットの承認を必須としますが、最初のターゲットの承認は必須にしません。

    7. [作成] をクリックして、このデリバリー パイプラインを作成します。

      Google Cloud コンソールの Cloud Deploy メインページ

    Cloud Run

    1. [新しいターゲット] の [ターゲット名] フィールドで、デフォルトのテキストを console-staging に置き換えます。

    2. [リージョン] プルダウンで、[us-central1] を選択します。

    3. [完了] をクリックします。

    4. [ターゲットを追加] をクリックします。

    5. [ターゲット名] のデフォルトのテキストを console-prod に置き換えます。

    6. このターゲットの [ロールアウトの承認を必須にする] チェックボックスを有効にします。

      このクイックスタートでは、2 番目のターゲットの承認を必須としますが、最初のターゲットの承認は必須にしません。

    7. [作成] をクリックして、このデリバリー パイプラインを作成します。

      Google Cloud コンソールの Cloud Deploy メインページ

    これで、2 つのターゲットを含むデリバリー パイプラインが作成され、リリースを作成する準備ができました。
    パイプラインのページが開き、両方のターゲットが表示されます。ロールアウトは行われません。

    Google Cloud コンソールで作成された新しいデリバリー パイプライン

リリースを作成する

これで、2 つのターゲットが設定され、2 つの GKE クラスタまたは 2 つの Cloud Run サービスを参照するデリバリー パイプラインを作成できたため、最初のターゲットにアプリケーションをデプロイするリリースを作成できます。

  1. 新しいデリバリー パイプライン in-console-quickstart-pipeline が表示されているデリバリー パイプライン ページをまだ表示していない場合は、ここで移動してください。

    パイプラインの可視化内容が表示され、ロールアウトは行われません。

  2. [リリースの作成] ボタンをクリックします。

    [リリースの作成] ダイアログが表示されます。ほとんどのフィールドは事前に入力されています。これらのデフォルト値をそのまま使用します。

    **[リリースの作成]** ダイアログ

    [マニフェストを表示] ボタンをクリックすると、いずれかのターゲットに自動的に生成されたマニフェストが表示されます。[Skaffold ファイルを表示] をクリックすると、生成された skaffold.yaml が表示されます。編集することもできますが、このクイックスタートではそのままにします。

  3. 必要に応じて、[説明] フィールドにこのリリースの説明を追加します。

  4. [作成] をクリックしてリリースを開始します。

    最初のターゲットへのロールアウトのロールアウトの詳細ページが表示され、このロールアウトの進行状況を確認できます。完了するまでに数分かかります。ロールアウトが開始されるまで数秒かかることがあります。

  5. 最初のロールアウトが完了したら、デリバリー パイプライン名をクリックしてデリバリー パイプライン ページに移動します。

    パイプライン名をクリックして可視化を表示します。

    パイプラインの可視化の内容が表示され、最初のターゲットまでロールアウトが完了します。

    最初のターゲットが完了したデリバリー パイプラインの可視化

  6. [昇格] をクリックして、次のターゲットへのロールアウトを開始します。

    [昇格] ダイアログが表示されます。

  7. デフォルト値のままにして、必要に応じてロールアウトの説明を追加し、[公開] をクリックします。

    2 つ目のターゲットの作成時に [ロールアウトの承認を必須にする] を選択したため、この昇格は承認待ちです。

  8. デリバリー パイプラインの可視化で [レビュー] をクリックします。

    承認ページが表示されます。

    2 番目のターゲットへの昇格に承認が必要

  9. もう一度 [確認] をクリックし、承認ダイアログで [承認] をクリックします。

    2 つ目のターゲットへのロールアウトが開始されます。デリバリー パイプライン名をもう一度クリックすると、パイプラインの可視化で進行状況を確認できます。

2 回目のロールアウトが完了すると、アプリケーションが 2 番目のターゲットにデプロイされ、配信パイプラインが完了します。

完了したデリバリー パイプライン。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

  1. GKE クラスタまたは Cloud Run サービスを削除します。

    GKE

    gcloud container clusters delete quickstart-cluster-for-console-staging --region=us-central1 --project=PROJECT_ID \
    && gcloud container clusters delete quickstart-cluster-for-console-prod --region=us-central1 --project=PROJECT_ID
    

    Cloud Run

    gcloud run services delete in-console-quickstart-pipeline-target-1 --region=us-central1 --project=PROJECT_ID \
    && gcloud run services delete in-console-quickstart-pipeline-target-2 --region=us-central1 --project=PROJECT_ID
    
  2. デリバリー パイプラインのページで [削除] をクリックして、デリバリー パイプライン、リリース、ロールアウトを削除します。

    指定されたフィールドにパイプライン名を入力し、[確認] をクリックしてリソースの削除を完了します。

    パイプライン、子リソース、ターゲットを削除するための確認ダイアログ

  3. 両方のターゲットを削除します。

    gcloud deploy targets delete console-staging --region=us-central1  && \
    gcloud deploy targets delete console-prod --region=us-central1
    
  4. Cloud Deploy によって作成された Cloud Storage バケットを削除します。

    1 つは _clouddeploy で終わり、もう 1 つは [region].deploy-artifacts.[project].appspot.com で終わります。

    Cloud Storage ブラウザページを開く

これでクイックスタートの演習はすべて終了です。

次のステップ