Créer votre pipeline de livraison et vos cibles

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Cette page explique comment créer le pipeline de livraison et les cibles qui décrivent où et comment Google Cloud Deploy déploie votre application. Consultez la section Schéma de fichier de configuration pour obtenir une description de la structure de fichiers YAML pour les pipelines de livraison et les cibles.

À propos du pipeline de livraison et des cibles

Votre pipeline de livraison décrit une progression des cibles de déploiement. Vous pouvez définir ces cibles dans le même fichier que le pipeline de livraison, 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 de déploiement Google Cloud.

Définir le pipeline de livraison et les cibles

La structure du pipeline de livraison et des fichiers de configuration cible est décrite ici.

Vous pouvez nommer ce fichier comme vous le souhaitez. Par convention, une configuration de pipeline de livraison qui inclut des définitions de cible est appelée clouddeploy.yaml, et une configuration qui référence à la place des cibles définies dans un ou plusieurs fichiers distincts s'appelle delivery-pipeline.yaml.

La cible peut pointer vers GKE, Anthos ou Cloud Run.

Enregistrer le pipeline de livraison et les cibles

Pour enregistrer votre pipeline de livraison auprès de Google Cloud Deploy, exécutez gcloud deploy apply une fois pour chaque fichier de définition. Autrement dit, si vous définissez trois cibles dans trois fichiers, vous exécutez la commande quatre fois : une fois pour le pipeline de livraison et une fois pour chaque cible.

La commande suivante enregistre un pipeline de livraison dont les cibles sont 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 qui peut gérer le déploiement de vos versions et 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 livraison et des cibles qui 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, trois cibles sont définies dans trois fichiers distincts. Vous exécutez donc 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'option --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 identique pour le pipeline de livraison et pour toutes les cibles référencées.

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 un pipeline de livraison et des ressources cibles.

Modifier les cibles et les pipelines existants

Vous pouvez modifier ultérieurement un pipeline de livraison ou une 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 livraison 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 livraison ou ne fournissez aucune valeur pour celle-ci, le déploiement sur cette cible ne nécessite pas d'approbation. (Cependant, l'appelant qui tente d'effectuer une promotion sur 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, rollout est créé automatiquement. Si une approbation est requise, Google Cloud Deploy crée le rollout, mais en attente de publication jusqu'à ce que l'approbation soit accordée.

Étapes suivantes