Approuver des builds

Cloud Build vous permet de configurer des déclencheurs qui n'exécutent pas immédiatement de compilation, mais marquent plutôt une compilation en attente tant qu'elle n'est pas approuvée. Si un utilisateur disposant des autorisations approuve un build en attente, celui-ci démarre. Si l'approbation est refusée, la compilation ne démarrera pas.

Cette page explique comment approuver ou rejeter manuellement des builds. Pour apprendre à configurer un déclencheur qui nécessite une approbation, consultez la page Créer un déclencheur de compilation.

Avant de commencer

  • Activez l'API Cloud Build.

    Activer l'API

  • Installez le SDK Cloud.

  • Si vous ne l'avez pas déjà fait, créez un déclencheur de compilation configuré pour exiger une approbation.

Accord d'autorisations...

Si un utilisateur dispose du rôle Éditeur Cloud Build, il est autorisé à mettre à jour un déclencheur pour exiger ou non une approbation. Pour en savoir plus sur les autorisations Cloud Build, consultez la page IAM et autorisations. Pour autoriser un utilisateur à approuver des builds dans votre projet, il doit disposer du rôle Approbateur Cloud Build.

Pour ajouter le rôle Cloud Build Approver (Approbateur Cloud Build) :

  1. Ouvrez la page IAM dans Google Cloud Console.

    Ouvrir la page IAM

  2. Cliquez sur Ajouter.

    Le panneau Ajouter des comptes principaux s'affiche.

  3. Dans la section Nouveaux comptes principaux, ajoutez des utilisateurs pour leur permettre d'approuver les builds en attente dans votre projet.

    Vous devez ajouter un ou plusieurs comptes principaux dans cette section. Si vous vous ajoutez en tant que compte principal, notez que vous devrez tout de même approuver manuellement un build en attente si votre déclencheur est soumis à une approbation.

  4. Dans la section Rôle, sélectionnez Cloud Build > Approbateur de Cloud Build.

Les utilisateurs que vous avez spécifiés ont désormais accès au processus d'approbation ou de refus des builds en attente.

Approuver des builds

Console

Pour approuver une compilation en attente dans Google Cloud Console, procédez comme suit:

  1. Ouvrez la page Tableau de bord Cloud Build dans Google Cloud Console.

    Ouvrir la page "Tableau de bord" de Cloud Build

  2. Si vous avez des builds à approuver, un message s'affiche en haut de la page avec le nombre de builds en attente d'approbation. À droite du message, cliquez sur View Builds (Afficher les compilations) pour afficher la liste des compilations en attente d'approbation.

  3. Cochez les cases des builds que vous souhaitez approuver. Vous pouvez sélectionner plusieurs builds à approuver ou un build individuel à approuver.

  4. En haut de la page, cliquez sur Approuver pour approuver les builds sélectionnés.

  5. Avant le début de la compilation, la boîte de dialogue Approuver la compilation s'affiche. Dans la boîte de dialogue, vous pouvez ajouter un message facultatif et une URL à afficher avec l'approbation du build. Pour inclure une URL, cliquez sur Afficher des options supplémentaires pour saisir une URL.

  6. Dans la boîte de dialogue, cliquez sur Approuver pour approuver le build.

Une fois approuvée, la compilation démarre immédiatement.

gcloud

Pour approuver une compilation en attente à l'aide de gcloud commands, exécutez la commande suivante dans la fenêtre de terminal:

gcloud alpha builds approve BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Remplacez les valeurs d'espace réservé dans les commandes ci-dessus par les éléments suivants :

  • BUILD_ID est l'ID de la compilation que vous souhaitez approuver.
  • PROJECT_ID est l'ID de votre projet.
  • [Facultatif] URL correspond à l'URL contenant des informations sur l'approbation, telle qu'un lien vers un ticket JIRA.
  • [Facultatif] COMMENT est le message que vous souhaitez afficher après l'approbation de la compilation.

Une fois approuvée, la compilation démarre immédiatement.

Refuser des builds

Console

Pour refuser un build en attente dans Google Cloud Console, procédez comme suit:

  1. Ouvrez la page Tableau de bord Cloud Build dans Google Cloud Console.

    Ouvrir la page "Tableau de bord" de Cloud Build

  2. Si vous avez des builds à approuver, un message s'affiche en haut de la page avec le nombre de builds en attente d'approbation. À droite du message, cliquez sur View Builds (Afficher les compilations) pour afficher la liste des compilations en attente d'approbation.

  3. Vous pouvez sélectionner plusieurs compilations à rejeter ou une seule à refuser. Cochez les cases correspondant aux builds à refuser.

  4. Cliquez sur Refuser en haut de la page pour refuser le build.

Si vous refusez un build, celui-ci ne démarre pas.

gcloud

Pour refuser une compilation en attente à l'aide de gcloud commands, exécutez la commande suivante dans la fenêtre de terminal:

gcloud alpha builds reject BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Remplacez les valeurs d'espace réservé dans les commandes ci-dessus par les éléments suivants :

  • BUILD_ID est l'ID de la compilation que vous souhaitez refuser.
  • PROJECT_ID est l'ID de votre projet.
  • [Facultatif] URL est l'URL contenant des informations sur le refus, par exemple un lien vers un ticket JIRA.
  • [Facultatif] COMMENT est le message que vous souhaitez afficher en cas de refus de la compilation.

Si vous refusez un build, il ne démarre jamais.

Recevoir des notifications pour les builds en attente d'approbation

Vous pouvez utiliser les notifications Cloud Build pour recevoir des notifications sur les compilations en attente à l'aide d'un système de notification géré par Cloud Build, par exemple :Slack ouSMTP ou parla création de votre propre système d'alerte (Installation de Python groupée).

Pour configurer les notifications, procédez comme suit:

  1. Suivez les instructions de l'une des pages suivantes pour configurer les notifications pour le service souhaité:

  2. Lorsque vous configurez des notifications à l'aide de l'une des pages ci-dessus, vous devez configurer votre système d'alerte pour filtrer les compilations avec l'état PENDING. Vous recevrez une notification pour les builds en attente d'approbation. Dans l'exemple de fichier de configuration du notificateur SMTP suivant, le champ de filtre utilise le CEL (Common Expression Language) pour filtrer les événements de compilation à l'état PENDING (en attente) :

    apiVersion: cloud-build-notifiers/v1
    kind: SMTPNotifier
    metadata:
      name: example-smtp-notifier
    spec:
      notification:
        filter: build.status == Build.Status.PENDING
        delivery:
          server: example.gmail.com
          port: 0000
          sender: sender@example.com
          ...
    

    Pour afficher l'exemple complet, consultez le fichier de configuration du système d'alerte pour le système d'alerte SMTP.

  3. Pour déployer votre système d'alerte, exécutez la commande gcloud run dans votre terminal. L'exemple suivant déploie le système d'alerte SMTP à l'aide de Cloud Run.

    gcloud run deploy example.gmail.com \
      --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \
      --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
    

Vous devriez maintenant recevoir des notifications pour les builds en attente vers votre service.

Étape suivante