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 Wartungs- und Supportzeit für jede Toolversion ist.

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 Toolversion 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 bis zum endgültigen Ziel im Fortschritt und darüber hinaus (Rollbacks oder erneute Bereitstellungen). Sie können die Tool-Versionen, 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.

Versionsverwaltung für Tools 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

Tool-Versionskompatibilität

Cloud Deploy sorgt dafür, dass die Toolversionen im Cloud Deploy-Image kompatibel sind. Wenn Sie die Funktion zum Ersetzen von Tool-Versionen verwenden, um Tool-Versionen im Cloud Deploy-Image zu ersetzen, sind Sie dafür verantwortlich, kompatible Tool-Versionen 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 Tool-Version 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 das Wartungs- und Ablaufdatum eines bestimmten Tools auch mit dem folgenden Befehl aufrufen:

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

Die Wartungs- und Ablaufdaten sind als Anmerkungen für die jeweiligen Versionen verfügbar.