Cette page explique comment créer le pipeline de déploiement et les cibles qui décrivent où et comment Cloud Deploy déploiera votre application. Pour obtenir une description de la structure du fichier YAML pour les pipelines de diffusion et les cibles, consultez Schéma du fichier de configuration.
À propos du pipeline de livraison et des cibles
Votre pipeline de diffusion décrit une progression des cibles de déploiement. Vous pouvez définir ces cibles dans le même fichier que le pipeline de diffusion ou dans un ou plusieurs fichiers distincts.
Après avoir créé le pipeline de diffusion et le ou les fichiers de définition cibles, exécutez gcloud deploy apply
sur chacun de ces fichiers pour l'enregistrer en tant que ressource Cloud Deploy.
Définir le pipeline de livraison et les cibles
La structure des fichiers de configuration du pipeline de livraison et de la cible est décrite ici.
Vous pouvez donner le nom de votre choix à ce fichier. Par convention, une configuration de pipeline de diffusion qui inclut des définitions de cibles est appelée clouddeploy.yaml
, tandis qu'une configuration qui fait référence à des cibles définies dans un ou plusieurs fichiers distincts est appelée delivery-pipeline.yaml
.
La cible peut pointer vers GKE, GKE Enterprise ou Cloud Run. Dans un pipeline de déploiement, toutes les cibles doivent faire référence au même type d'exécution (toutes les cibles GKE ou toutes les cibles GKE Enterprise, par exemple).
Créer un pipeline de livraison et des cibles à l'aide de la console Google Cloud
Vous pouvez utiliser la console Google Cloud pour créer un pipeline de déploiement et une ou plusieurs cibles. Cela est utile pour tester Cloud Deploy, mais ne convient pas aux charges de travail de production. (Vous pouvez également utiliser la consoleGoogle Cloud pour créer une version.)
Pour créer le pipeline de livraison :
Sur la page Pipelines de diffusion, cliquez sur Créer.
Attribuez un nom (ou conservez celui par défaut) et, éventuellement, une description.
Sélectionnez votre région.
Choisissez votre environnement d'exécution.
Pour GKE, sélectionnez Google Kubernetes Engine ou Cloud Run si c'est le runtime sur lequel vous déployez.
Sous Nouvelle cible, indiquez un nom (ou conservez celui par défaut).
Si vous souhaitez exiger une approbation pour cette cible, cochez la case Exiger une approbation pour les déploiements.
Si vous prévoyez d'utiliser une stratégie de déploiement Canary sur cette cible, cochez la case Activer Canary.
Cliquez sur OK.
Cliquez sur Ajouter une cible et suivez ces étapes pour chaque cible supplémentaire que vous souhaitez créer.
Une fois que vous avez toutes vos cibles, cliquez sur Créer pour créer le pipeline de diffusion et les ressources cibles.
Enregistrer le pipeline de livraison et les cibles
Si vous avez créé votre pipeline et vos cibles à l'aide de la console Google Cloud , vous n'avez pas besoin de le faire.
Pour enregistrer votre pipeline de diffusion auprès de Cloud Deploy, exécutez gcloud deploy apply
une fois pour chaque fichier de définition distinct. Autrement dit, si vous définissez trois cibles dans trois fichiers, vous exécuterez la commande quatre fois : une fois pour le pipeline de livraison et une fois pour chaque cible.
La commande suivante enregistre un pipeline de diffusion avec ses cibles définies dans le même fichier.
gcloud deploy apply --file=PIPELINE_CONFIG \
--region=LOCATION \
--project=PROJECT
Vous disposez désormais d'un pipeline de livraison capable de gérer le déploiement de vos versions et de cibler des ressources pouvant être utilisées par n'importe quel pipeline de livraison dans le même projet et la même région.
Exemple de fichier unique
La commande de cet exemple enregistre un pipeline de diffusion et des cibles qui sont tous définis dans le même fichier :
gcloud deploy apply --file=clouddeploy.yaml --region=us-central1
Exemple utilisant des fichiers distincts
Dans cet exemple, trois cibles sont définies dans trois fichiers distincts. Vous devez donc exécuter quatre commandes :
gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1
L'indicateur --region
est obligatoire, sauf si vous avez défini une valeur par défaut (à l'aide de gcloud
config set deploy/region [REGION]
). La région doit être la même pour le pipeline de livraison et toutes les cibles auxquelles ce pipeline fait référence.
Créer le pipeline de livraison et les cibles à l'aide de Terraform
Vous pouvez également utiliser le fournisseur Terraform pour Google Cloud afin de créer des ressources pipeline de déploiement et cible.
Le fournisseur Terraform bêtaGoogle Cloud peut inclure la compatibilité avec les fonctionnalités Cloud Deploy en version preview.
Modifier des pipelines et des cibles existants
Vous pouvez modifier ultérieurement n'importe quel pipeline de livraison ou configuration cible, puis exécuter gcloud
deploy apply
pour mettre à jour le pipeline ou la ressource cible. Toutefois, ces modifications n'affectent pas les versions existantes, car elles sont gérées par le pipeline de diffusion d'origine.
Exiger une approbation manuelle pour un déploiement
Pour exiger une approbation manuelle pour une cible donnée, incluez la propriété suivante dans la définition de la cible :
requireApproval: true
La valeur par défaut est false
. Si vous omettez cette propriété de la configuration du pipeline de déploiement ou si vous ne lui attribuez aucune valeur, le déploiement sur cette cible ne nécessite pas d'approbation. (Toutefois, l'appelant qui tente de promouvoir la cible a toujours besoin de l'autorisation IAM clouddeploy.rollouts.create
.)
Vous pouvez même exiger une approbation manuelle sur la première cible. Lorsqu'une version est créée à l'aide de la CLI pour la première cible, le rollout
est créé automatiquement. Si une approbation est requise, Cloud Deploy crée le rollout
, mais dans un état "En attente de publication" jusqu'à ce que l'approbation soit accordée.
Étapes suivantes
Consultez Déployer votre application pour découvrir comment appeler votre pipeline de livraison et créer une version.