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

このページでは、Google Cloud Deploy がアプリケーションをデプロイする場所と方法を記述するデリバリー パイプラインとターゲットを作成する方法について説明します。デリバリー パイプラインとターゲットの YAML ファイル構造の説明については、構成ファイルのスキーマをご覧ください。

デリバリー パイプラインとターゲットについて

デリバリー パイプラインでは、デプロイ ターゲット進行が記述されます。これらのターゲットは、デリバリー パイプラインと同じファイル、または 1 つ以上の別のファイルで定義できます。

デリバリー パイプラインとターゲット定義ファイルを作成したら、これらのファイルに対して gcloud deploy apply を実行して、ファイルを Google Cloud Deploy リソースとして登録します。

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

デリバリー パイプラインとターゲット構成ファイルの構造については、こちらをご覧ください。

このファイルの名前は任意です。一般に、ターゲット定義を含むデリバリー パイプライン構成は clouddeploy.yaml と呼ばれ、代わりに 1 つ以上の別のファイルで定義されたターゲットを参照するものは delivery-pipeline.yaml と呼ばれます。

ターゲットとして、GKE クラスタまたは Anthos クラスタを指し示すことができます。

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

デリバリー パイプラインを Google Cloud Deploy に登録するには、個別の定義ファイルごとに gcloud deploy apply を 1 回実行します。つまり、3 つのファイルで 3 つのターゲットを定義する場合は、コマンドを 4 回(デリバリー パイプラインに対して 1 回、各ターゲットに対して 1 回ずつ)実行します。

次のコマンドは、同じファイルで定義されているターゲットとともにデリバリー パイプラインを登録します。

gcloud deploy apply --file=PIPELINE_CONFIG \
                    --region=LOCATION \
                    --project=PROJECT

これで、リリースのデプロイを管理できるデリバリー パイプラインと、同じプロジェクトとリージョン内のデリバリー パイプラインで使用できるターゲット リソースが作成されました。

単一ファイルの例

この例のコマンドは、すべて同じファイルで定義されているデリバリー パイプラインとターゲットを登録します。

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

個別のファイルを使用した例

この例では、3 つのターゲットが 3 つの個別のファイルで定義されているため、次の 4 つのコマンドを実行します。

gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1

デフォルト(gcloud config set deploy/region [REGION] を使用して)が設定されていない場合、--region フラグを使用する必要があります。リージョンは、デリバリー パイプラインと、パイプラインが参照するすべてのターゲットで同じにする必要があります。

Terraform を使用してデリバリー パイプラインとターゲットを作成する

Google Cloud Terraform プロバイダを使用して、デリバリー パイプラインターゲット リソースを作成することもできます。

既存のパイプラインとターゲットを編集する

後で任意のデリバリー パイプラインまたはターゲット構成を編集し、gcloud deploy apply を実行してパイプラインまたはターゲット リソースを更新できます。ただし、これらの変更は元のデリバリー パイプラインによって管理されるため、既存のリリースには影響しません

デプロイに手動の承認を要求する

特定のターゲットに対して手動での承認を要求するには、次のプロパティをターゲット定義に含めます。

requireApproval: true

デフォルトは false です。デリバリー パイプライン構成でこのプロパティを省略した場合、または値を指定しなかった場合、このターゲットへのデプロイに承認は必要ありません。(ただし、ターゲットに昇格しようとする呼び出し元には、引き続き clouddeploy.rollouts.create IAM 権限が必要です)。

最初のターゲットに対する手動での承認を要求することもできます。CLI を使用して最初のターゲットに対してリリースを作成すると、rollout が自動的に作成されます。承認が必要な場合、Google Cloud Deploy は rollout を作成しますが、承認が付与されるまでリリースが保留状態となります。

次のステップ