管理工具版本

Cloud Deploy 使用自定义映像执行其操作,该映像包含默认工具版本。Cloud Deploy 允许您指定在操作中使用的工具版本,以渲染、部署和验证清单,从而为您提供部署流程的灵活性和控制权。

本页面介绍了 Cloud Deploy 工具版本的选择方式,以及每个工具版本的维护和支持时间。

受支持的 Cloud Deploy 工具版本

Cloud Deploy 允许您为以下工具选择版本:

Cloud Deploy 提供了一个可用工具版本库 ,您可以在操作中使用这些版本。所有这些 版本均受维护和弃用政策的约束。

默认工具版本

如果未提供用户指定的工具版本,则在创建版本期间使用默认工具版本。

每周都会发布一个新的 Cloud Deploy 映像,其中包含构建映像时可用的最新工具版本。根据工具的不同发布时间表,新工具版本可能需要长达两周的时间才能成为默认版本。

您可以通过运行以下命令查看默认版本:

gcloud deploy get-config \
      --project=PROJECT \
      --region=REGION \
      --format 'yaml(defaultToolVersions)'

固定工具版本控制

默认情况下,所有工具版本都会保存到版本资源中。工具版本在创建版本时与版本相关联,并用于该版本的整个生命周期,并且在该生命周期内无法更改。版本生命周期包括对该版本进行的所有渲染、部署和其他作业,包括部署到最终目标(以及回滚或重新部署)。 您可以通过运行以下命令查找与版本关联的工具版本:

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format='yaml(toolVersions)'

在工具版本控制功能之前创建的版本不会在其输出中列出 toolVersions。不过,您可以使用其 Skaffold 版本 以及 --format 'yaml(skaffoldVersion)' 标志。

停用固定工具版本控制

如果您想停用固定工具版本控制,并为给定版本使用最新工具,则可以为每个工具指定特殊关键字 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

维护和到期日期以注释的形式提供在相应版本中。

旧版 Skaffold 版本

Cloud Deploy 过去提供受支持的 Skaffold 版本的特定列表。这些 Skaffold 版本与使用特定版本的 Skaffold 和其他工具构建的 Cloud Deploy 映像相对应。Skaffold 版本提供 12 个月的支持,维护期为 60 天。

Cloud Deploy 正在逐步弃用此模型,以提升 Cloud Deploy 的安全状况。由于无需提供与特定 Skaffold 版本对应的映像,Cloud Deploy 可以更快地解决漏洞,并更频繁地更新默认工具版本。

现有 Skaffold 版本将继续受到支持,直到到期日期为止。

Skaffold 版本 截至以下日期 维护开始 到期日期
2.16版本说明 2025 年 5 月 12 日 2026 年 5 月 14 日 2026 年 7 月 13 日
2.14版本说明 2025 年 2 月 17 日 2026 年 2 月 25 日 2026 年 4 月 26 日

您可以在以下命令中使用 --skaffold-version 标志,继续创建使用这些特定 Skaffold 版本的版本:

gcloud deploy releases create RELEASE_NAME \
      --delivery-pipeline=PIPELINE_NAME \
      --skaffold-version=SKAFFOLD_VERSION \
      --project=PROJECT \
      --region=REGION