Google Cloud コンソールでパイプラインを作成してリリースする
このページでは、Google Cloud コンソールを使用して Cloud Deploy デリバリー パイプラインを作成し、そのパイプラインのリリースを作成する方法について説明します。
このクイックスタートでは、以下のことを行います。
2 つの GKE クラスタを作成するか、2 つの Cloud Run サービスを構成します。
Google Cloud コンソールを使用して、デリバリー パイプラインと 2 つのターゲットを作成します。
Google Cloud コンソールを使用してリリースを作成し、デリバリー パイプラインをインスタンス化します。
このリリースを作成すると、アプリケーションが自動的にターゲットにデプロイされます。
Google Cloud コンソールで結果を確認します。
準備
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Deploy, Cloud Build, GKE, Artifact Registry, Cloud Run, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Deploy, Cloud Build, GKE, Artifact Registry, Cloud Run, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
CLI がすでにインストールされている場合は、最新バージョンを実行していることを確認してください。
gcloud components update
ランタイム環境を作成する
Cloud Run にデプロイする場合は、このコマンドをスキップできます。
GKE の場合、デフォルト設定で quickstart-cluster-for-console-staging
と quickstart-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 とマニフェストが作成されます。
Google Cloud コンソールで、Cloud Deploy メインページに移動します。
[作成] をクリックします。
[デリバリー パイプラインの作成] フォームが表示されます。
[パイプライン名] フィールドでデフォルトのテキストを
in-console-quickstart-pipeline
に置き換えます。必要に応じて、このデリバリー パイプラインの説明を入力します。
[リージョン] プルダウンで、[
us-central1
] を選択します。ランタイムを選択します。
GKE にデプロイする場合は、[Google Kubernetes Engine] を選択します。それ以外の場合は、[Cloud Run] を選択します。
ターゲットを作成します。
GKE
[新しいターゲット] の [ターゲット名] フィールドで、デフォルトのテキストを
console-staging
に置き換えます。[Kubernetes Engine クラスタ] プルダウンから [
quickstart-cluster-for-console-staging
] を選択します。[完了] をクリックします。
[ターゲットを追加] をクリックします。
[ターゲット名] のデフォルトのテキストを
console-prod
に置き換えます。[Kubernetes Engine クラスタ] プルダウンから [
quickstart-cluster-for-console-prod
] を選択します。[ロールアウトの承認を必須にする] を選択します。
このクイックスタートでは、2 番目のターゲットの承認を必須としますが、最初のターゲットの承認は必須にしません。
[作成] をクリックして、このデリバリー パイプラインを作成します。
Cloud Run
[新しいターゲット] の [ターゲット名] フィールドで、デフォルトのテキストを
console-staging
に置き換えます。[リージョン] プルダウンで、[
us-central1
] を選択します。[完了] をクリックします。
[ターゲットを追加] をクリックします。
[ターゲット名] のデフォルトのテキストを
console-prod
に置き換えます。このターゲットの [ロールアウトの承認を必須にする] チェックボックスを有効にします。
このクイックスタートでは、2 番目のターゲットの承認を必須としますが、最初のターゲットの承認は必須にしません。
[作成] をクリックして、このデリバリー パイプラインを作成します。
これで、2 つのターゲットを含むデリバリー パイプラインが作成され、リリースを作成する準備ができました。
パイプラインのページが開き、両方のターゲットが表示されます。ロールアウトは行われません。
リリースを作成する
これで、2 つのターゲットが設定され、2 つの GKE クラスタまたは 2 つの Cloud Run サービスを参照するデリバリー パイプラインを作成できたため、最初のターゲットにアプリケーションをデプロイするリリースを作成できます。
新しいデリバリー パイプライン
in-console-quickstart-pipeline
が表示されているデリバリー パイプライン ページをまだ表示していない場合は、ここで移動してください。パイプラインの可視化内容が表示され、ロールアウトは行われません。
[リリースを作成] ボタンをクリックします。
[リリースの作成] ダイアログが表示されます。ほとんどのフィールドには値があらかじめ入力されています。次のデフォルト値のままにします。
[マニフェストを表示] ボタンをクリックすると、いずれかのターゲットに自動的に生成されたマニフェストが表示されます。[Skaffold ファイルを表示] をクリックすると、生成された
skaffold.yaml
が表示されます。編集することもできますが、このクイックスタートではそのままにします。必要に応じて、[説明] フィールドにこのリリースの説明を追加します。
[作成] をクリックしてリリースを開始します。
最初のターゲットへのロールアウトに関してロールアウトの詳細ページが表示され、このロールアウトの進行状況を確認できます。完了するまでに数分かかります。ロールアウトが開始されるまでに数秒かかることがあります。
最初のロールアウトが完了したら、デリバリー パイプラインの名前をクリックしてデリバリー パイプライン ページに移動します。
パイプラインの可視化の内容が表示され、最初のターゲットまでロールアウトが完了します。
[昇格] をクリックして、次のターゲットへのロールアウトを開始します。
[昇格] ダイアログが表示されます。
デフォルト値をそのまま使用して、必要に応じて [ロールアウトの説明] を追加して、[昇格] をクリックします。
2 つ目のターゲットの作成時に [ロールアウトの承認を必須にする] を選択したため、この昇格は承認待ちです。
デリバリー パイプラインの可視化で [確認] をクリックします。
承認ページが表示されます。
もう一度 [確認] をクリックし、承認ダイアログで [承認] をクリックします。
2 番目のターゲットのロールアウトが開始されます。デリバリー パイプライン名を再度クリックすると、パイプラインの可視化の進行状況を確認できます。
2 番目のロールアウトが完了すると、アプリケーションは 2 番目のターゲットにデプロイされ、デリバリー パイプラインが完了しました。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
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
デリバリー パイプライン ページで [削除] をクリックして、デリバリー パイプライン、リリース、ロールアウトを削除します。
表示されたフィールドにパイプライン名を入力し、[確認] をクリックしてリソースの削除を完了します。
両方のターゲットを削除します。
gcloud deploy targets delete console-staging --region=us-central1 && \ gcloud deploy targets delete console-prod --region=us-central1
Cloud Deploy によって作成された Cloud Storage バケットを削除します。
1 つは
_clouddeploy
で終わり、もう 1 つは[region].deploy-artifacts.[project].appspot.com
で終わります。
これでクイックスタートの演習はすべて終了です。