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

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

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

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

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

  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. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Cloud Deploy, Cloud Build, GKE, Artifact Registry, Cloud Run, and Cloud Storage API を有効にします。

    API を有効にする

  5. Google Cloud CLI をインストールします。
  6. gcloud CLI を初期化するには:

    gcloud init
  7. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  8. Google Cloud プロジェクトで課金が有効になっていることを確認します

  9. Cloud Deploy, Cloud Build, GKE, Artifact Registry, Cloud Run, and Cloud Storage API を有効にします。

    API を有効にする

  10. Google Cloud CLI をインストールします。
  11. gcloud CLI を初期化するには:

    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

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

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 ブラウザページを開く

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

次のステップ