Cloud Deploy は、デフォルトのツール バージョンを含むカスタム イメージを使用してオペレーションを実行します。Cloud Deploy では、オペレーションで使用するツール バージョンを指定して、マニフェストのレンダリング、デプロイ、検証を行うことができるため、デプロイ プロセスを柔軟に制御できます。
このページでは、Cloud Deploy ツール バージョンの選択方法と、各ツール バージョンのメンテナンスとサポートの期間について説明します。
サポートされている Cloud Deploy ツールのバージョン
Cloud Deploy では、次のツールのバージョンを選択できます。
Cloud Deploy には、オペレーションに使用できる利用可能なツール バージョンのリポジトリが用意されています。これらのバージョンはすべて、メンテナンスと非推奨のポリシーの対象となります。
修正済みのツールのバージョニング
デフォルトでは、すべてのツール バージョンがリリース リソースに保存されます。ツール バージョンは、リリースの作成時にリリースに関連付けられ、そのリリースのライフサイクル全体で使用されます。その期間中は変更できません。リリースのライフサイクルは、そのリリースに関するすべてのレンダリング、デプロイ、その他のジョブで構成されます。これには、進行中や最終的なターゲットへのデプロイ(ロールバックまたは再デプロイ)までが含まれます。リリースに関連付けられているツール バージョンを確認するには、次のコマンドを実行します。
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format='yaml(toolVersions)'
ツール バージョン管理機能より前に作成されたリリースでは、出力に toolVersions が表示されません。代わりに、--format 'yaml(skaffoldVersion)' フラグを使用して Skaffold のバージョンを確認できます。
固定ツール バージョニングを無効にする
固定ツール バージョン管理を無効にして、特定のリリースで最新のツールを使用する場合は、各ツールに特別なキーワード latest を指定します。すべてのツールで最新バージョンを使用するリリースを作成する例を次に示します。
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--docker-version=latest \
--helm-version=latest \
--kpt-version=latest \
--kubectl-version=latest \
--kustomize-version=latest \
--skaffold-version=latest
使用する特定のツール バージョンを指定する方法
サポートされているツール バージョンであれば、どのバージョンでも使用できます。使用するバージョンを指定するには、特定のツールの適切なフラグを含めます。
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--docker-version=DOCKER_VERSION \
--helm-version=HELM_VERSION \
--kpt-version=KPT_VERSION \
--kubectl-version=KUBECTL_VERSION \
--kustomize-version=KUSTOMIZE_VERSION \
--skaffold-version=SKAFFOLD_VERSION
デフォルト バージョンを使用するツールについては、対応するバージョン フラグを省略できます。
たとえば、次のコマンドは Skaffold 2.16.1 と Helm 3.18.3 を使用します。
gcloud deploy releases create release-001 \
--delivery-pipeline=PIPELINE_NAME \
--skaffold-version=2.16.1 \
--helm-version=3.18.3 \
--project=PROJECT \
--region=REGION
ツールのバージョンの互換性
Cloud Deploy は、Cloud Deploy イメージでツール バージョンの互換性を確保する責任を負います。ツール バージョン置換機能を使用して Cloud Deploy イメージのツール バージョンを置き換える場合は、互換性のあるツール バージョンを選択する必要があります。
ツールのバージョンの非推奨とメンテナンス ポリシー
ツール バージョンは、インポートされた日から 12 か月間サポートされ、60 日間のメンテナンス期間が適用されます。このメンテナンス期間は、ツール バージョンに関連付けられたリリースが、そのツール バージョンのサポート終了後 60 日間引き続きサポートされることを意味しています。これらのリリースからロールアウトを作成することはできますが、メンテナンス期間中のツール バージョンを使用してリリースを作成することはできません。
60 日間のメンテナンス期間が終了すると、そのツール バージョンはどのオペレーションでもサポートされなくなります。サポートされていないバージョンを使用するリリースからロールアウトを作成することはできなくなります。ただし、リリースに関連付けられたデータはすべてそのまま残ります。
次のコマンドを実行すると、リリースのメンテナンス日と有効期限を表示できます。
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format 'yaml(condition)'
次のコマンドを実行して、特定のツールのメンテナンスと有効期限を確認することもできます。
gcloud artifacts versions list \
--package TOOL_NAME \
--repository tools \
--project cd-image-prod \
--location=REGION
メンテナンス日と有効期限は、それぞれのバージョンのアノテーションとして確認できます。