Tool-Versionen verwalten

Cloud Deploy führt seine Vorgänge mit einem benutzerdefinierten Image aus, das Standardtoolversionen enthält. Cloud Deploy bietet Ihnen Flexibilität und Kontrolle über Ihren Bereitstellungsprozess, da Sie Toolversionen für Vorgänge zum Rendern, Bereitstellen und Überprüfen Ihrer Manifeste angeben können.

Auf dieser Seite wird beschrieben, wie Cloud Deploy-Toolversionen ausgewählt werden und wie lange die Wartung und der Support für jede Toolversion verfügbar sind.

Unterstützte Cloud Deploy-Tool-Versionen

Mit Cloud Deploy können Sie die Versionen für die folgenden Tools auswählen:

Cloud Deploy bietet ein Repository mit verfügbaren Toolversionen, die Sie für Ihre Vorgänge verwenden können. Alle diese Versionen unterliegen der Richtlinie für Wartung und Einstellung.

Standard-Toolversionen

Wenn keine vom Nutzer angegebenen Tool-Versionen angegeben werden, werden bei der Erstellung von Releases Standard-Tool-Versionen verwendet.

Jede Woche wird ein neues Cloud Deploy-Image veröffentlicht, das die neuesten Toolversionen enthält, die zum Zeitpunkt der Erstellung des Images verfügbar waren. Aufgrund der unterschiedlichen Veröffentlichungszeitpläne der Tools kann es bis zu zwei Wochen dauern, bis eine neue Tool-Version zur Standardversion wird.

Mit dem folgenden Befehl können Sie die Standardversionen aufrufen:

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

Feste Tool-Versionierung

Alle Tool-Versionen werden standardmäßig in der Release-Ressource gespeichert. Die Toolversionen werden bei der Erstellung eines Release mit diesem Release verknüpft und für den gesamten Lebenszyklus dieses Release verwendet. Sie können während dieser Laufzeit nicht geändert werden. Der Release-Lebenszyklus umfasst alle Rendering-, Bereitstellungs- und anderen Jobs für diesen Release. Dies umfasst die Bereitstellung im endgültigen Ziel in der Progression und darüber hinaus (Rollbacks oder erneute Bereitstellungen). Sie können die Toolversionen, die mit einem Release verknüpft sind, mit dem folgenden Befehl ermitteln:

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

Bei Releases, die vor der Einführung der Tool-Versionsverwaltung erstellt wurden, ist in der Ausgabe keine toolVersions-Liste enthalten. Stattdessen können Sie die Skaffold-Version mit dem Flag --format 'yaml(skaffoldVersion)' aufrufen.

Feste Toolversionierung deaktivieren

Wenn Sie die Versionsverwaltung für Tools deaktivieren und die neuesten Tools für eine bestimmte Version verwenden möchten, können Sie für jedes Tool das spezielle Keyword latest angeben. Hier ist ein Beispiel für das Erstellen eines Releases, in dem die neuesten Versionen aller Tools verwendet werden:

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

Bestimmte Tool-Version angeben

Sie können eine beliebige unterstützte Toolversion verwenden. Wenn Sie die Version angeben möchten, die Sie verwenden möchten, fügen Sie das entsprechende Flag für das jeweilige Tool ein:

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

Bei Tools, für die Sie die Standardversion verwenden möchten, können Sie das entsprechende Versionsflag weglassen.

Im folgenden Befehl werden beispielsweise Skaffold 2.16.1 und Helm 3.18.3 verwendet:

gcloud deploy releases create release-001 \
                              --delivery-pipeline=PIPELINE_NAME \
                              --skaffold-version=2.16.1 \
                              --helm-version=3.18.3 \
                              --project=PROJECT \
                              --region=REGION

Kompatibilität von Tool-Versionen

Cloud Deploy sorgt dafür, dass die Toolversionen im Cloud Deploy-Image kompatibel sind. Wenn Sie die Funktion zum Ersetzen von Toolversionen verwenden, um Toolversionen im Cloud Deploy-Image zu ersetzen, sind Sie dafür verantwortlich, kompatible Toolversionen auszuwählen.

Einstellung und Wartungsrichtlinie für Toolversionen

Tool-Versionen werden ab dem Tag des Imports zwölf Monate lang mit einem Wartungszeitraum von 60 Tagen unterstützt. Dieser Wartungszeitraum bedeutet, dass an eine Tool-Version gebundene Releases nach Ablauf der Unterstützung für diese Tool-Version noch 60 Tage lang unterstützt werden. Sie können weiterhin Roll-outs aus diesen Releases erstellen, aber keine Releases mit einer Tool-Version, die sich im Wartungszeitraum befindet.

Nach Ablauf des 60‑tägigen Wartungszeitraums wird die Toolversion für keine Vorgänge mehr unterstützt. Sie können keine Rollouts mehr aus einem Release erstellen, der die nicht unterstützte Version verwendet. Alle mit dem Release verknüpften Daten bleiben jedoch erhalten.

Mit dem folgenden Befehl können Sie sich die Wartungs- und Ablaufdaten des Releases ansehen:

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

Sie können auch das Wartungs- und Ablaufdatum eines bestimmten Tools aufrufen, indem Sie den folgenden Befehl ausführen:

gcloud artifacts versions list \
       --package TOOL_NAME \
       --repository tools \
       --project cd-image-prod \
       --location=REGION

Die Wartungs- und Ablaufdaten sind als Anmerkungen in den jeweiligen Versionen verfügbar.

Alte Skaffold-Version

In Cloud Deploy wurde bisher eine bestimmte Liste der unterstützten Skaffold-Versionen bereitgestellt. Diese Skaffold-Versionen entsprachen einem Cloud Deploy-Image, das mit dieser bestimmten Version von Skaffold und anderen Tools erstellt wurde. Die Skaffold-Versionen wurden zwölf Monate lang mit einem Wartungszeitraum von 60 Tagen unterstützt.

Cloud Deploy wechselt von diesem Modell weg, um die Sicherheit von Cloud Deploy zu verbessern. Da keine Bilder für eine bestimmte Skaffold-Version bereitgestellt werden müssen, können in Cloud Deploy Sicherheitslücken schneller behoben und die Standardtoolversionen häufiger aktualisiert werden.

Vorhandene Skaffold-Versionen werden bis zum Ablaufdatum weiterhin unterstützt.

Skaffold-Version Ab Wartungsbeginn Ablauffrist
2.16 (Versionshinweise) 12. Mai 14. Mai 2026 13. Juli 2026
2.14 (Versionshinweise) 17. Februar 2025 25. Februar 2026 26. April 2026

Sie können weiterhin Releases erstellen, die diese spezifischen Skaffold-Versionen verwenden, indem Sie das Flag --skaffold-version im folgenden Befehl verwenden:

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