Cloud Deploy effectue ses opérations à l'aide d'une image personnalisée, qui inclut les versions d'outils par défaut. 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 de rendu, de déploiement et de validation de vos manifestes.
Cette page explique comment les versions d'outils Cloud Deploy sont sélectionnées, ainsi que la durée de maintenance et d'assistance pour chaque version d'outil.
Versions d'outils 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 au règlement de maintenance et d'obsolescence.
Versions d'outils par défaut
Si aucune version d'outil spécifiée par l'utilisateur n'est fournie, les versions d'outils par défaut sont utilisées lors de la création de la version.
Une nouvelle image Cloud Deploy est publiée chaque semaine et contient les dernières versions d'outils disponibles au moment de la création de l'image. En fonction du calendrier de publication des différents outils, une nouvelle version d'outil peut prendre jusqu'à deux semaines pour devenir 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)'
Gestion des versions d'outils fixes
Par défaut, toutes les versions d'outils sont enregistrées dans la ressource de version. Les versions d'outils sont associées à une version lors de sa création et sont utilisées pendant tout son cycle de vie. Elles 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 jobs de 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 d'outils associées à 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 d'outils n'auront pas de toolVersions listées dans leur sortie. Vous pouvez voir leur version Skaffold
à l'aide de l'indicateur --format 'yaml(skaffoldVersion)'.
Désactiver la gestion des versions d'outils fixes
Si vous souhaitez désactiver la gestion des versions d'outils fixes 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 pour 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 d'outils
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.
Règlement d'obsolescence et de maintenance des versions d'outils
Les versions d'outils sont compatibles pendant 12 mois avec une période de maintenance de 60 jours, à compter du jour de leur importation. Cette période de maintenance signifie que les versions liées à une version d'outil sont toujours compatibles pendant 60 jours après l'expiration de la compatibilité avec cette version d'outil. Vous pouvez toujours créer des déploiements progressifs à partir de ces versions, mais vous ne pouvez pas créer de versions à l'aide d'une version d'outil en période de maintenance.
Après la période de maintenance de 60 jours, la version d'outil n'est plus compatible avec aucune opération. Vous ne pouvez plus créer de déploiements progressifs à partir d'une version qui utilise la version non compatible. Toutes les données associées à la version sont toutefois conservées.
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 la date 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 de versions Skaffold compatibles. Ces versions Skaffold correspondaient à une image Cloud Deploy créée avec cette version particulière 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 afin d'améliorer sa posture de sécurité. Sans avoir à fournir d'images correspondant à une version Skaffold particulière, Cloud Deploy peut résoudre les failles plus rapidement et mettre à jour les versions d'outils par défaut 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 |
Vous pouvez continuer à créer des versions qui utilisent ces versions Skaffold spécifiques à l'aide de 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