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:
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éfautcloud-builds
comme nom de sujet pour les builds à partir de ce fichier. Par conséquent, si vous créez un sujetcloud-builds
et laissezoptions.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:
- Configurer des notifications BigQuery
- Configurer les notifications de problèmes GitHub
- Configurer les notifications Google Chat
- Configurer des notifications HTTP
- Configurer les notifications Slack
- Configurer les notifications SMTP
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
- Découvrez comment configurer les systèmes d'alerte BigQuery, GitHub Issue, Google Chat, HTTP, Slack ou SMTP.
- Découvrez comment automatiser la configuration des notifications.
- Découvrez comment créer votre propre système d'alerte.