Iscriviti alle notifiche sulla build

Cloud Build pubblica messaggi su un argomento Google Pub/Sub quando lo stato della build cambia, ad esempio quando viene creata, quando passa a uno stato di lavoro e quando viene completata. Ogni messaggio contiene una rappresentazione di stringa JSON base64 della risorsa Build nell'attributo message.data. L'ID univoco e lo stato della build sono disponibili nel campo message.attributes.

Per impostazione predefinita, i messaggi vengono pubblicati nell'argomento cloud-builds; puoi anche specificare un nome di argomento personalizzato nel campo options.pubsubTopic del file di configurazione di compilazione. Per ulteriori informazioni sulla configurazione dei nomi degli argomenti nel file di configurazione di compilazione, consulta Argomenti Pub/Sub per le notifiche di build.

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

Ricevi notifiche di build

Per ricevere le notifiche relative alle build:

  1. Abilita l'API Cloud Build:

    Abilita l'API Cloud Build

    Nella maggior parte dei casi, quando abiliti l'API Cloud Build, il account di servizio Cloud Build Service Agent viene aggiunto automaticamente al tuo progetto. Il account di servizio ti consente di ricevere notifiche di build da Pub/Sub.

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

     service-project-number@gcp-sa-cloudbuild.
    

    Se non vedi il account di servizio Cloud Build Service Agent nella pagina IAM o non riesci a ricevere notifiche da Pub/Sub, segui questi passaggi per aggiungere il account di servizio Cloud Build Service Agent al tuo progetto:

    1. Apri la pagina IAM nella console Google Cloud :

      Apri la pagina IAM

    2. Fai clic su Concedi l'accesso.

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

      service-project-number@gcp-sa-cloudbuild.
      
    4. Seleziona Agenti di servizio > Cloud Build Service Agent 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
    

    Puoi anche definire un nome di argomento personalizzato nel file di configurazione della build, in modo che i messaggi vengano inviati all'argomento personalizzato. In questo caso, creerai un argomento con lo stesso nome dell'argomento personalizzato:

    gcloud pubsub topics create topic-name
    

    Per saperne di più, consulta Argomenti Pub/Sub per le notifiche di build.

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

Sottoscrizioni push

Le sottoscrizioni push inviano messaggi a un endpoint HTTP da te definito. I messaggi vengono recapitati non appena vengono pubblicati nell'argomento.

I messaggi inviati dalle sottoscrizioni push hanno il seguente aspetto:

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

Sottoscrizioni pull

Le sottoscrizioni pull consegnano il messaggio quando viene eseguito il polling dall'applicazione sottoscritta. I messaggi vengono recapitati quando viene eseguito il polling della sottoscrizione.

I messaggi inviati dalle sottoscrizioni pull hanno il seguente aspetto:

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

Iscriviti alle notifiche di aggiornamento della build

Hai diverse opzioni per iscriverti alle notifiche di aggiornamento delle build. Ad esempio, puoi eseguire il push dei messaggi a un endpoint o scrivere un'app Python per eseguire il polling della tua sottoscrizione.

Per scoprire come configurare le sottoscrizioni Pub/Sub per gli aggiornamenti delle build, leggi la guida per i sottoscrittori Pub/Sub. Puoi anche scoprire di più sulle librerie client Pub/Sub, che semplificano lo sviluppo di applicazioni di sottoscrizione.

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