Cloud Deploy effectue ses opérations à l'aide d'une image personnalisée, qui inclut les versions par défaut des outils. Cloud Deploy vous offre flexibilité et contrôle sur votre processus de déploiement en vous permettant de spécifier les versions d'outils à utiliser dans les opérations pour afficher, déployer et valider vos fichiers manifestes.
Cette page décrit comment les versions de l'outil Cloud Deploy sont sélectionnées, ainsi que la durée de maintenance et d'assistance pour chaque version de l'outil.
Versions de l'outil Cloud Deploy compatibles
Cloud Deploy vous permet de sélectionner les versions des outils suivants :
Cloud Deploy fournit un dépôt des versions d'outils disponibles que vous pouvez utiliser pour vos opérations. Toutes ces versions sont soumises à la stratégie de maintenance et d'obsolescence.
Versions par défaut des outils
Si aucune version d'outil spécifiée par l'utilisateur n'est fournie, les versions d'outil par défaut sont utilisées lors de la création de la version.
Une nouvelle image Cloud Deploy est publiée chaque semaine. Elle contient les dernières versions des outils disponibles au moment de la création de l'image. En fonction du calendrier de diffusion des différents outils, il peut s'écouler jusqu'à deux semaines avant qu'une nouvelle version d'outil ne devienne la version par défaut.
Vous pouvez afficher les versions par défaut en exécutant la commande suivante :
gcloud deploy get-config \
--project=PROJECT \
--region=REGION \
--format 'yaml(defaultToolVersions)'
Versionnement fixe des outils
Par défaut, toutes les versions de l'outil sont enregistrées dans la ressource de version. Les versions des outils sont associées à une version lors de sa création. Elles sont utilisées pendant tout le cycle de vie de cette version et ne peuvent pas être modifiées pendant cette période. Le cycle de vie d'une version comprend tous les jobs de rendu, de déploiement et autres associés à cette version. Cela inclut le déploiement dans la cible finale de la progression, et au-delà (restaurations ou redéploiements). Vous pouvez trouver les versions des outils associés à une version en exécutant la commande suivante :
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format='yaml(toolVersions)'
Les versions créées avant la fonctionnalité de gestion des versions des outils n'incluront pas toolVersions dans leur sortie. Vous pouvez consulter leur version Skaffold avec l'option --format 'yaml(skaffoldVersion)'.
Désactiver la gestion des versions fixes des outils
Si vous souhaitez désactiver le versionnage fixe des outils et utiliser les derniers outils pour une version donnée, vous pouvez le faire en spécifiant le mot clé spécial latest pour chaque outil. Voici un exemple de création d'une version qui utilise les dernières versions de tous les outils :
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
Spécifier une version d'outil particulière à utiliser
Vous pouvez utiliser n'importe quelle version d'outil compatible. Pour spécifier la version que vous souhaitez utiliser, incluez l'indicateur approprié pour l'outil spécifique :
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
Pour tous les outils pour lesquels vous souhaitez utiliser la version par défaut, vous pouvez omettre l'indicateur de version correspondant.
Par exemple, la commande suivante utilise Skaffold 2.16.1 et 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
Compatibilité des versions de l'outil
Cloud Deploy est responsable de la compatibilité des versions d'outils sur l'image Cloud Deploy. Si vous utilisez la fonctionnalité de remplacement de version d'outil pour remplacer les versions d'outils sur l'image Cloud Deploy, vous êtes responsable du choix des versions d'outils compatibles.
Obsolescence des versions d'outils et règles de maintenance
Les versions d'outils sont compatibles pendant 12 mois, avec une période de maintenance de 60 jours à compter de la date de leur importation. Cela signifie que les versions liées à une version d'outil sont toujours prises en charge pendant 60 jours après l'expiration de la prise en charge de cette version d'outil. Vous pouvez toujours créer des déploiements à partir de ces versions, mais vous ne pouvez pas créer de versions à l'aide d'une version d'outil qui se trouve dans la période de maintenance.
Une fois la période de maintenance de 60 jours terminée, la version de l'outil n'est plus compatible avec aucune opération. Vous ne pouvez plus créer de déploiements à partir d'une version qui utilise la version non compatible. Toutefois, toutes les données associées à la version restent disponibles.
Vous pouvez afficher les dates de maintenance et d'expiration de la version en exécutant la commande suivante :
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format 'yaml(condition)'
Vous pouvez également afficher la date de maintenance et d'expiration d'un outil spécifique en exécutant la commande suivante :
gcloud artifacts versions list \
--package TOOL_NAME \
--repository tools \
--project cd-image-prod \
--location=REGION
Les dates de maintenance et d'expiration sont disponibles sous forme d'annotations sur les versions respectives.
Ancienne version de Skaffold
Cloud Deploy fournissait auparavant une liste spécifique des versions de Skaffold compatibles. Ces versions de Skaffold correspondaient à une image Cloud Deploy créée avec cette version spécifique de Skaffold et d'autres outils. Les versions Skaffold étaient compatibles pendant 12 mois, avec une période de maintenance de 60 jours.
Cloud Deploy abandonne ce modèle pour améliorer sa sécurité. Cloud Deploy n'a pas besoin d'images correspondant à une version spécifique de Skaffold. Il peut donc corriger les failles plus rapidement et mettre à jour les versions par défaut des outils plus fréquemment.
Les versions Skaffold existantes continueront d'être compatibles jusqu'à la date d'expiration.
| Version de Skaffold | À compter du | Début de la maintenance | Expiration |
|---|---|---|---|
| 2.16 (notes de version) | 12 mai 2025 | 14 mai 2026 | 13 juillet 2026 |
| 2.14 (notes de version) | 17 février 2025 | 25 février 2026 | 26 avril 2026 |
Vous pouvez continuer à créer des versions qui utilisent ces versions spécifiques de Skaffold en utilisant l'indicateur --skaffold-version dans la commande suivante :
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--skaffold-version=SKAFFOLD_VERSION \
--project=PROJECT \
--region=REGION