Iscrizione alle notifiche sulla build

Cloud Build pubblica i messaggi su Google Pub/Sub quando lo stato della build cambia, ad esempio quando la build viene creata, quando viene eseguita la transizione allo stato di lavoro viene completata.

L'argomento Pub/Sub in cui Cloud Build pubblica questi aggiornamenti della build messaggi si chiama cloud-builds. Ogni messaggio contiene una rappresentazione in stringa JSON base64 della risorsa di compilazione nell'attributo message.data. L'ID univoco e lo stato della build sono indicati nella sezione message.attributes.

Puoi utilizzare un modello push o pull per le tue sottoscrizioni Pub/Sub.

Ricezione di notifiche sulle build

Per ricevere notifiche sulle build:

  1. Abilita l'API Cloud Build:

    Abilita l'API Cloud Build

    Quando abiliti l'API Cloud Build, il servizio Cloud Build L'account di servizio dell'agente viene aggiunto automaticamente al progetto. La che consente di ricevere notifiche sulle build tramite in Pub/Sub.

    L'account di servizio ha il seguente formato, dove project-number è il numero del progetto:

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

    Se non vedi l'account di servizio dell'agente di servizio Cloud Build sul tuo pagina IAM o non essere in grado di ricevere notifiche tramite Pub/Sub, Per aggiungere l'account di servizio dell'agente di servizio Cloud Build alla tua organizzazione, segui questi passaggi progetto:

    1. Apri la pagina IAM nella console Google Cloud:

      Apri la pagina IAM

    2. Fai clic su Concedi accesso.

    3. Aggiungi la seguente entità, dove project-number è il numero di progetto:

      service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
      
    4. Seleziona Agenti di servizio > Agente di servizio Cloud Build come ruolo.

    5. Fai clic su Salva.

  2. Abilita l'API Pub/Sub:

    Abilita l'API Pub/Sub

  3. Crea l'argomento cloud-builds:

    gcloud pubsub topics create cloud-builds
    

    Per scoprire di più sulla gestione degli argomenti Pub/Sub, consulta Gestire argomenti e iscrizioni.

Push

Le sottoscrizioni push recapitano i messaggi a un endpoint HTTP che definisci. I messaggi vengono recapitati non appena vengono pubblicati nell'argomento.

I messaggi inviati dalle iscrizioni push hanno il seguente aspetto:

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

Pull

Le sottoscrizioni pull inviano un messaggio di recapito quando vengono sottoposte a polling da parte del applicazione sottoscritta. I messaggi vengono recapitati quando viene eseguito il polling dell'abbonamento.

I messaggi inviati dalle iscrizioni pull hanno il seguente aspetto:

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

Come faccio ad iscrivermi alle notifiche di aggiornamento della build?

Sono disponibili diverse opzioni per l'iscrizione alle notifiche relative agli aggiornamenti delle build. Ad esempio, puoi messaggi push a un endpoint, o scrivi un'app Python per eseguire il polling della tua sottoscrizione.

Per scoprire come configurare le sottoscrizioni Pub/Sub per gli aggiornamenti delle build, consulta la Guida per gli abbonati a Pub/Sub. Inoltre, puoi scoprire sulle librerie client Pub/Sub, che semplificano lo sviluppo di applicazioni per gli abbonati.

Per scoprire come utilizzare Pub/Sub per inviare aggiornamenti di compilazione a servizi come Slack o via email, consulta Notificatori Cloud Build.