Recibir notificaciones de compilación

Cloud Build publica mensajes en un tema de Google Pub/Sub cuando cambia el estado de tu compilación, por ejemplo, cuando se crea, cuando pasa a un estado de trabajo y cuando se completa. Cada mensaje contiene una representación de cadena JSON en base64 de tu recurso de compilación en el atributo message.data. El ID único de la compilación y el estado de la compilación se encuentran en el campo message.attributes.

De forma predeterminada, los mensajes se publican en el tema cloud-builds. También puedes especificar un nombre de tema personalizado en el campo options.pubsubTopic de tu archivo de configuración de compilación. Para obtener más información sobre cómo configurar los nombres de los temas en el archivo de configuración de compilación, consulta Temas de Pub/Sub para notificaciones de compilación.

Puedes usar un modelo push o pull para tus suscripciones de Pub/Sub.

Recibir notificaciones de compilación

Para recibir notificaciones de compilación, haz lo siguiente:

  1. Habilita la API Cloud Build:

    Habilitar la API Cloud Build

    Cuando habilitas la API Cloud Build, la cuenta de servicio Agente de servicio de Cloud Build se añade automáticamente a tu proyecto. La cuenta de servicio te permite recibir notificaciones de compilación de Pub/Sub.

    La cuenta de servicio tiene el siguiente formato, donde project-number es el número de tu proyecto:

     service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
    

    Si no ves la cuenta de servicio Agente de servicio de Cloud Build en la página IAM o no puedes recibir notificaciones de Pub/Sub, sigue estos pasos para añadir la cuenta de servicio Agente de servicio de Cloud Build a tu proyecto:

    1. Abre la página IAM en la Google Cloud consola:

      Abre la página Gestión de identidades y accesos.

    2. Haz clic en Conceder acceso.

    3. Añade la siguiente entidad de seguridad, donde project-number es el número de tu proyecto:

      service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
      
    4. Selecciona Agentes de servicio > Agente de servicio de Cloud Build como rol.

    5. Haz clic en Guardar.

  2. Habilita la API Pub/Sub:

    Habilitar la API de Pub/Sub

  3. Crea el tema cloud-builds:

    gcloud pubsub topics create cloud-builds
    

    También puedes definir un nombre de tema personalizado en el archivo de configuración de compilación para que los mensajes se envíen al tema personalizado. En este caso, crearías un tema con el mismo nombre de tema personalizado:

    gcloud pubsub topics create topic-name
    

    Para obtener más información, consulta Temas de Pub/Sub para notificaciones de compilación.

    Para obtener más información sobre cómo gestionar temas de Pub/Sub, consulta Gestionar temas y suscripciones.

Suscripciones push

Las suscripciones push envían mensajes a un endpoint HTTP que definas. Los mensajes se entregan en cuanto se publican en el tema.

Los mensajes enviados desde suscripciones push tienen este aspecto:

{
  "message": {
    "attributes": {
      "buildId": "abcd-efgh...",
      "status": "SUCCESS"
    },
    "data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
    "message_id": "136969346945"
  },
  "subscription": "projects/myproject/subscriptions/mysubscription"
}

Suscripciones de extracción

Suscripciones de extracción: envían mensajes cuando la aplicación suscrita los solicita. Los mensajes se entregan cuando se sondea la suscripción.

Los mensajes enviados desde suscripciones de extracción tienen este aspecto:

{
  "receivedMessages": [
    {
      "ackId": "dQNNHlAbEGEIBERNK0EPKVgUWQYyODM2LwgRHFEZDDsLRk1SK...",
      "message": {
        "attributes": {
          "buildId": "abcd-efgh-...",
          "status": "SUCCESS"
        },
        "data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
        "messageId": "19917247034"
      }
    }
  ]
}

Suscribirse a las notificaciones de actualización de compilación

Tienes varias opciones para suscribirte a las notificaciones de actualizaciones de compilación. Por ejemplo, puedes enviar mensajes a un endpoint o escribir una aplicación de Python para sondear tu suscripción.

Para obtener información sobre cómo configurar suscripciones de Pub/Sub para recibir actualizaciones de compilación, consulta la Guía de suscriptor de Pub/Sub. También puedes consultar información sobre las bibliotecas de cliente de Pub/Sub, que facilitan el desarrollo de aplicaciones de suscriptor.

Para saber cómo usar Pub/Sub para enviar actualizaciones de compilación por correo electrónico o a servicios como Slack, consulta Notificadores de Cloud Build.