Subscreva notificações de compilação

O Cloud Build publica mensagens num tópico do Google Pub/Sub quando o estado da sua compilação muda, como quando a compilação é criada, quando a compilação transita para um estado de funcionamento e quando a compilação é concluída. Cada mensagem contém uma representação de string JSON base64 do seu recurso de criação no atributo message.data. Pode encontrar o ID exclusivo da compilação e o estado da compilação no campo message.attributes.

Por predefinição, as mensagens são publicadas no tópico cloud-builds. Também pode especificar um nome de tópico personalizado no campo options.pubsubTopic do ficheiro de configuração de compilação. Para mais informações sobre a configuração dos nomes dos tópicos no ficheiro de configuração de compilação, consulte o artigo Tópicos do Pub/Sub para notificações de compilação.

Pode usar um modelo de envio ou obtenção para as suas subscrições do Pub/Sub.

Receba notificações de compilação

Para receber notificações de compilação:

  1. Ative a API Cloud Build:

    Ative a API Cloud Build

    Quando ativa a API Cloud Build, a conta de serviço do agente do serviço Cloud Build é adicionada automaticamente ao seu projeto. A conta de serviço permite-lhe receber notificações de compilação do Pub/Sub.

    A conta de serviço tem o seguinte formato, em que project-number é o número do seu projeto:

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

    Se não vir a conta de serviço do agente do serviço do Cloud Build na página do IAM ou não conseguir receber notificações do Pub/Sub, siga estes passos para adicionar a conta de serviço do agente do serviço do Cloud Build ao seu projeto:

    1. Abra a página IAM na Google Cloud consola:

      Abra a página IAM

    2. Clique em Conceder acesso.

    3. Adicione o seguinte principal, em que project-number é o número do seu projeto:

      service-project-number@gcp-sa-cloudbuild.iam.gserviceaccount.com
      
    4. Selecione Agentes de serviço > Agente de serviço do Cloud Build como função.

    5. Clique em Guardar.

  2. Ative a API Pub/Sub:

    Ative a API Pub/Sub

  3. Crie o tópico cloud-builds:

    gcloud pubsub topics create cloud-builds
    

    Também pode definir um nome de tópico personalizado no ficheiro de configuração de compilação para que as mensagens sejam enviadas para o tópico personalizado. Neste caso, criaria um tópico com o mesmo nome de tópico personalizado:

    gcloud pubsub topics create topic-name
    

    Para mais informações, consulte o artigo Tópicos do Pub/Sub para notificações de compilação.

    Para saber mais sobre a gestão de tópicos do Pub/Sub, consulte o artigo Gerir tópicos e subscrições.

Subscrições de emissão

As subscrições push entregam mensagens a um ponto final HTTP que define. As mensagens são entregues assim que são publicadas no tópico.

As mensagens enviadas a partir de subscrições push têm o seguinte aspeto:

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

Subscrições de obtenção

As subscrições de obtenção enviam mensagens quando são consultadas pela aplicação subscrita. As mensagens são entregues quando a subscrição é consultada.

As mensagens enviadas a partir de subscrições de obtenção têm o seguinte aspeto:

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

Subscreva notificações de atualizações de compilações

Tem várias opções para subscrever notificações de atualizações de compilações. Por exemplo, pode enviar mensagens para um ponto final ou escrever uma app Python para sondar a sua subscrição.

Para saber como configurar subscrições do Pub/Sub para atualizações de compilação, leia o guia do subscritor do Pub/Sub. Também pode saber mais sobre as bibliotecas de cliente do Pub/Sub, que facilitam o desenvolvimento de aplicações de subscrição.

Para saber como usar o Pub/Sub para enviar atualizações de compilação para email ou para serviços como o Slack, consulte os notificadores do Cloud Build.