Los notificadores de Cloud Build son imágenes de Docker que se pueden ejecutar como contenedores en Cloud Run. Cuando los sondea una aplicación de suscriptor, los notificadores de Cloud Build usan suscripciones de envío para entregar mensajes a un servicio configurado, como Slack o un servidor SMTP.
En esta página, se proporciona una descripción general de los notificadores de Cloud Build.
Notificadores de Cloud Build
Cloud Build envía todas las actualizaciones de eventos de compilación, junto con los metadatos de compilación, a Pub/Sub en el tema cloud-builds
o en un tema definido por el usuario. Los notificadores de Cloud
Build se pueden configurar para escuchar ese tema, filtrar los mensajes que
reciben y enviar mensajes a tu servicio a través de Cloud Run.
Todos los notificadores usan una especificación YAML común para la configuración, almacenada en Cloud Storage. Si el servicio que elegiste requiere autenticación, sus credenciales se almacenan en Secret Manager. Cloud Run enruta tu mensaje y envía tus notificaciones a tu servicio.
En el siguiente diagrama, se muestra cómo Cloud Build interactúa con otros productos Google Cloud , como Pub/Sub y Cloud Run, para enviar notificaciones:
Temas de Pub/Sub para notificaciones de compilación
De forma predeterminada, Cloud Build envía notificaciones de compilación a un tema de Pub/Sub llamado cloud-builds
si existe uno. También puedes
crear un tema de Pub/Sub personalizado para
recibir notificaciones de compilación. En tu archivo de configuración de compilación, el campo options.pubsubTopic
define el nombre del tema al que Cloud Build envía notificaciones:
Si
options.pubsubTopic
se deja en blanco, Cloud Build usa un valor predeterminado decloud-builds
como el nombre del tema para las compilaciones de ese archivo. Como resultado, si creas un temacloud-builds
y dejasoptions.pubsubTopic
sin definir en todos tus archivos de configuración de compilación, ese tema recibirá todas tus notificaciones de compilación.Si especificas un nombre de tema personalizado en
options.pubsubTopic
, Cloud Build envía notificaciones de ese archivo de configuración de compilación a ese tema. Los nombres de temas personalizados son útiles cuando no deseas que todas tus notificaciones de compilación se publiquen en el mismo tema.Cuando usas un nombre de tema personalizado en un archivo de configuración de compilación, también debes asignar el rol
roles/pubsub.publisher
a cualquier cuenta de servicio que no sea la cuenta de servicio predeterminada de Cloud Build.
Publica notificaciones de compilación en temas de Pub/Sub en todos los proyectos
Para publicar notificaciones de compilación en un tema de Pub/Sub en un proyecto diferente del que se ejecutó la compilación, proporciona el rol roles/pubsub.publisher
a la cuenta de servicio en el proyecto de destino.
Por ejemplo, tienes el proyecto A y el proyecto B. Ejecutas una compilación en el proyecto A con la cuenta de servicio A y deseas publicar notificaciones de compilación en un tema de Pub/Sub en el proyecto B. Para ello, puedes otorgar a la cuenta de servicio A el rol roles/pubsub.publisher
en el proyecto B ejecutando el siguiente comando:
gcloud projects add-iam-policy-binding ProjectB --member 'serviceAccount:ServiceAccountA' --role 'roles/pubsub.publisher'
Luego, puedes usar una configuración de compilación como la siguiente, que te permite ejecutar una compilación en el proyecto A y publicar notificaciones de compilación en el proyecto B:
steps:
- name: ubuntu
args:
- pwd
serviceAccount: projects/ProjectA/serviceAccounts/ServiceAccountA
options:
pubsubTopic: projects/ProjectB/topics/CustomTopic
logging: desired-logging-option
Notificadores compatibles que proporciona Cloud Build
Cloud Build proporciona y mantiene imágenes implementables del notificador en el repositorio cloud-build-notifiers
. En la siguiente tabla, se enumeran los notificadores disponibles:
Notificador | Descripción |
---|---|
bigquery |
Escribe datos de compilación en una tabla de BigQuery |
githubissues |
usa unwebhook de GitHub para crear problemas en un repositorio de GitHub |
googlechat |
usa un webhook de Google Chat para publicar mensajes en un espacio de Google Chat |
http |
envía una carga útil JSON a otro extremo HTTP |
slack |
usa un webhook de Slack para publicar mensajes en un canal de Slack |
smtp |
envía correos electrónicos a través de un servidor SMTP |
Para obtener más información sobre cómo configurar cada notificador, consulta la página correspondiente de cada servicio:
- Configura notificaciones de BigQuery
- Configura las notificaciones de problemas de GitHub
- Cómo configurar las notificaciones de Google Chat
- Configura notificaciones HTTP
- Configura las notificaciones de Slack
- Configura notificaciones SMTP
Automatiza la configuración de notificaciones
Cloud Build proporciona una secuencia de comandos de configuración que puedes usar para automatizar la configuración de notificaciones para los notificadores compatibles con Cloud Build.
Para obtener información sobre cómo configurar notificaciones para los notificadores compatibles con Cloud Build, consulta Automatiza la configuración de notificaciones.
Crea tu propio notificador
Además de los notificadores que mantiene Cloud Build, como Slack o SMTP, puedes usar la biblioteca proporcionada en el repositorio cloud-build-notifiers
para crear tu propio notificador.
Para obtener información sobre cómo crear tu propio notificador, consulta Crea tu propio notificador.
¿Qué sigue?
- Obtén información para configurar los notificadores de BigQuery, GitHub Issue, Google Chat, HTTP, Slack o SMTP.
- Obtén información para automatizar la configuración de notificaciones.
- Obtén más información para crear tu propio notificador.