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 in base64 della tua risorsa Build nell'attributo message.data. L'ID univoco della build e il relativo stato 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 della build. Per ulteriori informazioni sulla configurazione dei nomi degli argomenti nel file di configurazione della build, consulta Argomenti Pub/Sub per le notifiche di build.

Puoi utilizzare un modello push o pull per gli abbonamenti Pub/Sub.

Ricevere notifiche relative alle build

Per ricevere le notifiche sulla build:

  1. Abilita l'API Cloud Build:

    Abilita l'API Cloud Build

    Quando abiliti l'API Cloud Build, l'account di servizio Agente di servizio Cloud Build 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.iam.gserviceaccount.com
    

    Se non vedi l'account di servizio Agente di servizio Cloud Build nella pagina IAM o non riesci a ricevere notifiche da Pub/Sub, segui questi passaggi per aggiungere l'account di servizio Agente di servizio Cloud Build 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.iam.gserviceaccount.com
      
    4. Seleziona Service Agents > 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, devi creare un argomento con lo stesso nome dell'argomento personalizzato:

    gcloud pubsub topics create topic-name
    

    Per ulteriori informazioni, consulta la sezione Argomenti Pub/Sub per le notifiche di build.

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

Sottoscrizioni push

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

I messaggi inviati dalle iscrizioni push hanno questo aspetto:

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

Sottoscrizioni pull

Pull subscriptions (Esegui il pull delle sottoscrizioni) invia il messaggio quando viene eseguito il polling da parte dell' applicazione a cui è stato eseguito l'abbonamento. I messaggi vengono inviati quando viene eseguito il polling dell'abbonamento.

I messaggi inviati dalle sottoscrizioni pull hanno questo aspetto:

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

Iscrizione alle notifiche di aggiornamento della build

Hai diverse opzioni per abbonarti alle notifiche di aggiornamento delle build. Ad esempio, puoi trasferire i messaggi a un endpoint o scrivere un'app Python per il polling dell'abbonamento.

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 a email o a servizi come Slack, consulta Cloud Build Notifier.