Systèmes d'alerte Cloud Build

Les systèmes d'alerte Cloud Build sont des images Docker pouvant être exécutées en tant que conteneurs sur Cloud Run. Lorsqu'ils sont interrogés par une application d'abonné, les systèmes d'alerte Cloud Build utilisent des abonnements push pour distribuer des messages à un service configuré, tel que Slack ou un serveur SMTP.

Cette page présente les notifiers Cloud Build.

Systèmes d'alerte Cloud Build

Cloud Build envoie toutes les mises à jour des événements de compilation, ainsi que les métadonnées de compilation, à Pub/Sub sur le sujet cloud-builds ou sur un sujet défini par l'utilisateur. Les systèmes d'alerte Cloud Build peuvent être configurés pour écouter ce sujet, filtrer les messages reçus et envoyer des messages à votre service via Cloud Run.

Tous les systèmes d'alerte utilisent une spécification YAML commune stockée dans Cloud Storage pour la configuration. Si le service choisi nécessite une authentification, ses identifiants sont stockés dans Secret Manager. Cloud Run achemine votre message et envoie vos notifications à votre service.

Le diagramme suivant montre comment Cloud Build interagit avec d'autres Google Cloud produits, tels que Pub/Sub et Cloud Run, pour envoyer des notifications:

Schéma des systèmes d'alerte Cloud Build

Sujets Pub/Sub pour les notifications de compilation

Par défaut, Cloud Build envoie des notifications de compilation à un sujet Pub/Sub nommé cloud-builds, le cas échéant. Vous pouvez également créer un sujet Pub/Sub personnalisé pour recevoir des notifications de compilation. Dans votre fichier de configuration de compilation, le champ options.pubsubTopic définit le nom du sujet auquel Cloud Build envoie des notifications:

  • Si options.pubsubTopic est laissé vide, Cloud Build utilise la valeur par défaut cloud-builds comme nom de sujet pour les builds à partir de ce fichier. Par conséquent, si vous créez un sujet cloud-builds et laissez options.pubsubTopic non défini dans tous vos fichiers de configuration de compilation, ce sujet reçoit toutes vos notifications de compilation.

  • Si vous spécifiez un nom de sujet personnalisé dans options.pubsubTopic, Cloud Build envoie des notifications pour ce fichier de configuration de compilation à ce sujet. Les noms de sujets personnalisés sont utiles lorsque vous ne souhaitez pas que toutes vos notifications de compilation soient publiées dans le même sujet.

    Lorsque vous utilisez un nom de sujet personnalisé dans un fichier de configuration de compilation, vous devez également attribuer le rôle roles/pubsub.publisher à tout compte de service autre que le compte de service Cloud Build par défaut.

Publier des notifications de compilation dans des sujets Pub/Sub pour plusieurs projets

Pour publier des notifications de compilation sur un sujet Pub/Sub dans un projet différent de celui dans lequel la compilation a été exécutée, attribuez le rôle roles/pubsub.publisher au compte de service dans le projet cible.

Par exemple, vous avez les projets A et B. Vous exécutez un build dans le projet A à l'aide du compte de service A et vous souhaitez publier des notifications de compilation dans un sujet Pub/Sub du projet B. Pour ce faire, vous pouvez accorder le rôle roles/pubsub.publisher au compte de service A dans le projet B en exécutant la commande suivante:

  gcloud projects add-iam-policy-binding ProjectB --member 'serviceAccount:ServiceAccountA' --role 'roles/pubsub.publisher'

Vous pouvez ensuite utiliser une configuration de compilation telle que celle-ci, qui vous permet d'exécuter une compilation dans le projet A et de publier des notifications de compilation dans le projet B:

  steps:
    - name: ubuntu
      args:
        - pwd
  serviceAccount: projects/ProjectA/serviceAccounts/ServiceAccountA
  options:
    pubsubTopic: projects/ProjectB/topics/CustomTopic
    logging: desired-logging-option

Systèmes d'alerte compatibles fournis par Cloud Build

Cloud Build fournit et gère des images de système d'alerte déployables dans le dépôt cloud-build-notifiers. Le tableau suivant répertorie les systèmes d'alerte disponibles :

Système d'alerte Description
bigquery écrit les données de build dans une table BigQuery
githubissues utilise un webhook GitHub pour créer des problèmes dans un dépôt GitHub ;
googlechat publie des messages dans un espace Google Chat à l'aide d'un webhook Google Chat
http envoie une charge utile JSON à un autre point de terminaison HTTP
slack publie des messages dans un canal Slack à l'aide d'un webhook Slack
smtp envoie des e-mails via un serveur SMTP

Pour en savoir plus sur la configuration de chaque notificateur, consultez la page correspondante pour chaque service:

Automatiser la configuration des notifications

Cloud Build fournit un script de configuration que vous pouvez utiliser pour automatiser la configuration des notifications pour les systèmes d'alerte compatibles avec Cloud Build.

Pour savoir comment configurer les notifications pour les notificateurs compatibles avec Cloud Build, consultez Automatiser la configuration des notifications.

Créer votre propre système d'alerte

En plus des systèmes d'alerte gérés par Cloud Build, tels que Slack ou SMTP, vous pouvez utiliser la bibliothèque fournie dans le dépôt cloud-build-notifiers pour créer votre propre système d'alerte.

Pour savoir comment créer votre propre système d'alerte, consultez la section Créer votre propre système d'alerte.

Étape suivante