Cloud Deploy führt seine Vorgänge mit einem benutzerdefinierten Image aus, das Standardversionen von Tools enthält. Cloud Deploy bietet Ihnen Flexibilität und Kontrolle über den Bereitstellungsprozess, da Sie Toolversionen angeben können, die in Vorgängen zum Rendern, Bereitstellen und Überprüfen Ihrer Manifeste verwendet werden sollen.
Auf dieser Seite wird beschrieben, wie Toolversionen von Cloud Deploy ausgewählt werden und wie lange Wartung und Support für die einzelnen Toolversionen angeboten werden.
Unterstützte Cloud Deploy-Toolversionen
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 Wartungs- und Einstellungspolitik.
Standardversionen von Tools
Wenn keine vom Nutzer angegebenen Toolversionen bereitgestellt werden, werden bei der Releaseerstellung Standardversionen von Tools verwendet.
Jede Woche wird ein neues Cloud Deploy-Image mit den neuesten Toolversionen veröffentlicht, die zum Zeitpunkt der Imageerstellung verfügbar sind. Je nach Zeitplan der verschiedenen Releasezyklen der Tools kann es bis zu zwei Wochen dauern, bis eine neue Toolversion zur Standardversion wird.
Sie können die Standardversionen mit dem folgenden Befehl aufrufen:
gcloud deploy get-config \
--project=PROJECT \
--region=REGION \
--format 'yaml(defaultToolVersions)'
Feste Toolversionierung
Alle Toolversionen werden standardmäßig in der Release-Ressource gespeichert. Die Toolversionen werden beim Erstellen des Release mit diesem 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 dieses Release. Dazu gehört auch die Bereitstellung im endgültigen Ziel im Fortschritt und darüber hinaus (Rollbacks oder erneute Bereitstellungen). Sie können die mit einem Release verknüpften Toolversionen mit dem folgenden Befehl aufrufen:
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 Toolversionierung erstellt wurden, werden in der Ausgabe keine Toolversionen aufgeführt. Stattdessen können Sie die Skaffold-Version
mit dem --format 'yaml(skaffoldVersion)' Flag aufrufen.
Feste Toolversionierung deaktivieren
Wenn Sie die feste Toolversionierung deaktivieren und die neuesten Tools für ein bestimmtes Release verwenden möchten, können Sie für jedes Tool das spezielle Keyword latest angeben. Hier ein Beispiel für das Erstellen eines Release, bei dem die neuesten Versionen für alle 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 Toolversion angeben
Sie können eine beliebige der unterstützten Toolversionen 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
Für alle Tools, bei denen Sie die Standardversion verwenden möchten, können Sie das entsprechende Versionsflag weglassen.
Der folgende Befehl verwendet beispielsweise Skaffold 2.16.1 und 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
Kompatibilität von Toolversionen
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, müssen Sie kompatible Toolversionen auswählen.
Einstellung und Wartungsrichtlinie für Toolversionen
Toolversionen werden ab dem Tag des Imports 12 Monate lang mit einem Wartungszeitraum von 60 Tagen unterstützt. Dieser Wartungszeitraum bedeutet, dass an eine Toolversion gebundene Releases nach Ablauf der Unterstützung für diese Toolversion noch 60 Tage lang unterstützt werden. Sie können weiterhin Rollouts aus diesen Releases erstellen, aber keine Releases mit einer Toolversion, die sich im Wartungszeitraum befindet.
Nach dem 60-tägigen Wartungszeitraum wird die Toolversion für keine Vorgänge mehr unterstützt. Sie können keine Rollouts mehr aus einem Release erstellen, das die nicht unterstützte Version verwendet. Alle mit dem Release verknüpften Daten bleiben jedoch erhalten.
Sie können die Wartungs- und Ablaufdaten für das Release mit dem folgenden Befehl aufrufen:
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 zu den jeweiligen Versionen verfügbar.