Cette page explique comment créer le pipeline de diffusion et les cibles qui décrivent où et comment Cloud Deploy déploiera votre application. Consultez la section Schéma du fichier de configuration pour obtenir une description de la structure de fichier YAML pour les pipelines de diffusion et les cibles.
À propos du pipeline de livraison et des cibles
Votre pipeline de diffusion décrit une progression des cibles de déploiement. Vous pouvez les définir les cibles dans le même fichier que le pipeline de livraison, ou dans un ou plusieurs .
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 de déploiement Cloud.
Définir le pipeline de livraison et les cibles
La structure du pipeline de diffusion et des fichiers de configuration cibles est décrite ici.
Vous pouvez lui donner le nom que vous souhaitez. Par convention, un pipeline de livraison
qui inclut les définitions de cibles est
appelé clouddeploy.yaml
, et qui fait référence aux cibles définies dans
un ou plusieurs fichiers distincts sont nommés delivery-pipeline.yaml
.
La cible peut pointer vers GKE, GKE Enterprise, ou Cloud Run. Dans un pipeline de diffusion, toutes les cibles doivent faire référence au même type d'environnement d'exécution (tout GKE ou tout 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 livraison la ou les cibles. C'est utile pour tester Cloud Deploy, mais ne convient pas aux charges de travail de production. (Vous pouvez également utiliser Google Cloud Console pour créer une version.)
Pour créer le pipeline de livraison :
Sur la page Pipelines de diffusion, cliquez sur Créer.
Indiquez un nom (ou conservez le nom par défaut) et, éventuellement, une description.
Sélectionnez votre région.
Choisissez votre environnement d'exécution.
Pour GKE, choisissez Google Kubernetes Engine ou sélectionnez Cloud Run s'il s'agit de l'environnement d'exécution dans lequel vous effectuez le déploiement.
Sous Nouvelle cible, indiquez un nom (ou conservez la valeur par défaut).
Si vous souhaitez exiger approbation pour cette cible, cochez la case Exiger une approbation pour les déploiements.
Si vous allez utiliser une stratégie de déploiement Canary sur cette cible, cochez la case Activer Canary.
Cliquez sur OK.
Cliquez sur Ajouter une cible, puis suivez la procédure ci-dessous pour chaque cible supplémentaire que vous vous souhaitez créer.
Une fois que vous avez sélectionné toutes vos cibles, cliquez sur Créer pour créer la diffusion. le pipeline et les ressources cibles.
Enregistrer le pipeline de diffusion 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 dans 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 devez exécuter la commande quatre fois : une fois pour le pipeline de diffusion et une fois pour chaque cible.
La commande suivante enregistre un pipeline de livraison 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 pouvant gérer le déploiement de vos versions et de ressources cibles pouvant être utilisées par n'importe quel pipeline de livraison du même projet et de la même région.
Exemple d'un fichier unique
Dans cet exemple, la commande enregistre un pipeline de livraison et les cibles sont toutes définies dans le même fichier:
gcloud deploy apply --file=clouddeploy.yaml --region=us-central1
Exemple utilisant des fichiers distincts
Pour cet exemple, il y a trois cibles définies dans trois fichiers distincts, donc vous exécutez 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 diffusion et toutes les cibles que le pipeline référence.
Créer le pipeline de livraison et les cibles à l'aide de Terraform
Vous pouvez également utiliser Fournisseur Terraform pour Google Cloud pour créer un pipeline de livraison et cible ressources.
Le fournisseur Terraform bêta de Google Cloud peut inclure la prise en charge des fonctionnalités Cloud Deploy Aperçu.
Modifier les cibles et les pipelines existants
Vous pouvez ensuite modifier n'importe quel pipeline de diffusion ou configuration de cible, puis exécuter gcloud
deploy apply
pour mettre à jour le pipeline ou la ressource cible. Mais ces changements
n'ont aucune incidence sur les versions existantes, car elles sont gérées par la
pipeline de livraison.
Exiger une approbation manuelle pour un déploiement
Pour exiger une approbation manuelle pour une cible donnée, incluez la propriété suivante sur 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 diffusion ou ne lui fournissez aucune valeur, le déploiement sur cette cible ne nécessite aucune approbation. (L'appelant qui tente de promouvoir la cible a toutefois toujours besoin de l'autorisation IAM clouddeploy.rollouts.create
.)
Vous pouvez même exiger une approbation manuelle pour la première cible. Lorsqu'une version est créée à l'aide de la CLI pour la première cible, rollout
est créée automatiquement. Si une approbation est requise, Cloud Deploy crée le
rollout
, mais en attente de publication jusqu'à ce que l'approbation soit accordée.
Étape suivante
Consultez la section Déployer votre application. pour savoir comment appeler votre pipeline de livraison et créer une version.