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.
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). Pour trouver les versions des outils associés à une version, exécutez 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'indicateur --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'option de version correspondante.
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. Cette période de maintenance 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 en 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.