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。不過,您可以使用 --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
維護和到期日會以註解形式顯示在各個版本上。
舊版 Skaffold
Cloud Deploy 過去會提供支援的特定 Skaffold 版本清單。這些 Skaffold 版本對應於使用該特定版本的 Skaffold 和其他工具建構的 Cloud Deploy 映像檔。Skaffold 版本支援 12 個月,維護期為 60 天。
為提升 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