Cloud Build vous permet de configurer des déclencheurs qui n'exécutent pas immédiatement de compilation, mais marquent une compilation comme en attente jusqu'à ce qu'elle soit approuvée. Si un utilisateur disposant d'autorisations approuve une compilation en attente, celle-ci démarre. Si l'approbation est refusée, la compilation ne démarrera pas.
Cette page explique comment approuver ou rejeter manuellement des compilations. Pour savoir comment configurer un déclencheur qui nécessite une approbation, consultez la page Créer un déclencheur de compilation.
Avant de commencer
-
Enable the Cloud Build API.
Installez Google Cloud CLI.
Si ce n'est 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 compilations dans votre projet, il doit disposer du rôle Validateur Cloud Build.
Pour ajouter le rôle Validateur Cloud Build, procédez comme suit:
Ouvrez la page IAM dans la console Google Cloud.
Cliquez sur Accorder l'accès.
Le panneau Accorder l'accès s'affiche.
Dans la section Ajouter des comptes principaux, ajoutez des utilisateurs pour leur accorder les autorisations qui leur permettent d'autoriser les compilations 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 toujours approuver manuellement une compilation en attente si votre déclencheur est contrôlé par une approbation.
Dans la section Attribuer des rôles, sélectionnez Cloud Build > Validateur Cloud Build.
Les utilisateurs que vous avez spécifiés peuvent désormais approuver ou rejeter les compilations en attente.
Approuver des compilations
Console
Pour approuver une compilation en attente dans la console Google Cloud:
Ouvrez la page Tableau de bord Cloud Build dans la console Google Cloud.
Si des compilations sont en attente d'approbation, un message s'affiche en haut de la page avec le nombre de compilations en attente d'approbation. À droite du message, cliquez sur Afficher les compilations pour afficher la liste des compilations en attente d'approbation.
Cochez les cases des compilations que vous souhaitez approuver. Vous pouvez sélectionner plusieurs compilations à approuver ou une compilation individuelle à approuver.
En haut de la page, cliquez sur Approuver pour valider les compilations sélectionnées.
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 de la compilation. Pour inclure une URL, cliquez sur Afficher des options supplémentaires pour saisir une URL.
Dans la boîte de dialogue, cliquez sur Approve (Approuver) pour approuver la compilation.
Une fois la compilation approuvée, la compilation démarre immédiatement. Si l'organisation
règlement
(constraints/cloudbuild.allowedIntegrations
) refuse l'accès à
dans le dépôt connecté, la règle
remplacer l'approbation. Pour en savoir plus, consultez Gate s'appuie sur les règles d'administration.
gcloud
Pour approuver une compilation en attente à l'aide de gcloud commands
, exécutez la commande suivante dans la fenêtre de votre terminal:
gcloud 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
est l'URL contenant des informations sur l'approbation, telles 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 la compilation approuvée, la compilation démarre immédiatement. Si l'organisation
pour définir des builds pour les intégrations autorisées
(constraints/cloudbuild.allowedIntegrations
) est définie, la règle
remplacer l'approbation. Pour en savoir plus, consultez Appliquer la stratégie de l'organisation aux déclencheurs de compilation.
Refuser les compilations
Console
Pour rejeter une compilation en attente dans la console Google Cloud :
Ouvrez la page Tableau de bord Cloud Build dans la console Google Cloud.
Si des compilations sont en attente d'approbation, un message s'affiche en haut de la page avec le nombre de compilations en attente d'approbation. À droite du message, cliquez sur Afficher les compilations pour afficher la liste des compilations en attente d'approbation.
Vous pouvez sélectionner plusieurs compilations à rejeter ou une compilation individuelle à rejeter. Cochez les cases correspondant aux compilations que vous souhaitez refuser.
Cliquez sur Refuser en haut de la page pour rejeter la compilation.
Si vous refusez une compilation, celle-ci ne démarre pas.
gcloud
Pour rejeter une compilation en attente à l'aide de gcloud commands
, exécutez la commande suivante dans la fenêtre de votre terminal:
gcloud 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 rejeter.PROJECT_ID
est l'ID de votre projet.- [Facultatif]
URL
est l'URL contenant des informations sur le refus, telles qu'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 une compilation, celle-ci ne démarre jamais.
Recevoir des notifications pour les compilations en attente d'approbation
Vous pouvez utiliser les systèmes d'alerte Cloud Build pour recevoir des notifications sur les compilations en attente à l'aide du système d'alerte géré par Cloud Build, par exemple :Slack ou le serveur SMTP, ou en créant votre propre système d'alerte.
Pour configurer les notifications, procédez comme suit:
Suivez les instructions fournies sur l'une des pages suivantes pour configurer les notifications pour le service souhaité:
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 à l'état PENDING. Vous recevrez des notifications concernant les compilations en attente d'approbation. Dans l'exemple de fichier de configuration du système d'alerte SMTP suivant, le champ de filtre utilise le CEL (Common Expression Language) pour filtrer les événements de compilation à l'état PENDING:
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 cet exemple, consultez le fichier de configuration du système d'alerte pour le système d'alerte SMTP.
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 compilations en attente vers votre service.
Étape suivante
- Découvrez comment créer et gérer des déclencheurs de compilation.
- Découvrez comment afficher les résultats des compilations réalisées par les déclencheurs.