Como aprovar builds

O Cloud Build permite configurar acionadores que não executam imediatamente uma versão, mas marcam uma versão como pendente até que sejam aprovadas. Se um usuário com permissões aprovar uma versão pendente, a versão será iniciada. Se a aprovação for negada, o build não será iniciado.

Esta página explica como aprovar ou rejeitar builds manualmente. Para saber como configurar um gatilho que requer aprovação, consulte Como criar um gatilho de compilação.

Antes de começar

  • Ative a API Cloud Build.

    Ative a API

  • Instale o SDK do Cloud.

  • Caso ainda não tenha feito isso, crie um gatilho de compilação configurado para exigir aprovação.

Como conceder permissões

Se um usuário tiver o papel de Editor do Cloud Build, ele terá permissões para atualizar um gatilho para exigir ou não a aprovação. Para saber mais sobre as permissões do Cloud Build, consulte IAM e permissões. Para conceder a um usuário permissão para aprovar builds no seu projeto, o usuário precisa ter o papel Aprovador do Cloud Build.

Para adicionar o papel Aprovador do Cloud Build:

  1. Abra a página do IAM no Console do Google Cloud.

    Abrir a página do IAM

  2. Clique em Add.

    Você verá o painel Adicionar principais.

  3. Na seção Novos principais, adicione usuários para conceder permissão para conceder aprovação a builds pendentes no projeto.

    Você precisa adicionar um ou mais principais nesta seção. Se você se adicionar como um principal, ainda precisará aprovar manualmente uma versão pendente se o gatilho for controlado por uma aprovação.

  4. Na seção Papel, selecione Cloud Build > Aprovador do Cloud Build.

Os usuários que você especificou agora têm acesso para aprovar ou rejeitar builds pendentes.

Como aprovar builds

Console

Para aprovar um build pendente no Console do Google Cloud:

  1. Abra a página Painel do Cloud Build no Console do Google Cloud.

    Abrir a página do painel do Cloud Build

  2. Se você tiver versões para aprovar, verá uma mensagem na parte superior da página com o número de versões à espera de sua aprovação. right direita da mensagem, clique em Ver builds para ver a lista de builds aguardando sua aprovação.

  3. Clique nas caixas de seleção dos builds que você quer aprovar. É possível selecionar várias versões para aprovar ou uma versão individual para aprovar.

  4. Na parte superior da página, clique em Aprovar para aprovar suas versões selecionadas.

  5. Antes que o build comece, você verá a caixa de diálogo Approve build. Na caixa de diálogo, você pode adicionar uma mensagem opcional e um URL a ser exibido junto com a aprovação da versão. Para incluir um URL, clique em Mostrar opções adicionais para inserir um URL.

  6. Na caixa de diálogo, clique em Approve para aprovar a versão.

Depois da aprovação, o build começará imediatamente.

gcloud

Para aprovar um build pendente usando gcloud commands, execute o seguinte comando na janela do terminal:

gcloud alpha builds approve BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Substitua os valores dos marcadores nos comandos acima pelo seguinte:

  • BUILD_ID é o ID do build que você quer aprovar.
  • PROJECT_ID é o ID do projeto.
  • [Opcional] URL é o URL que contém informações sobre a aprovação, como um link para um tíquete do JIRA.
  • [Opcional] COMMENT é a mensagem que você quer que seja exibida após a aprovação da versão.

Depois da aprovação, o build começará imediatamente.

Como rejeitar builds

Console

Para rejeitar um build pendente no Console do Google Cloud:

  1. Abra a página Painel do Cloud Build no Console do Google Cloud.

    Abrir a página do painel do Cloud Build

  2. Se você tiver versões para aprovar, verá uma mensagem na parte superior da página com o número de versões à espera de sua aprovação. right direita da mensagem, clique em Ver builds para ver a lista de builds aguardando sua aprovação.

  3. É possível selecionar várias versões a serem rejeitadas ou uma versão individual para rejeitar. Clique nas caixas de seleção dos builds que você quer rejeitar.

  4. Clique em Rejeitar na parte superior da página para rejeitar a versão.

Se você rejeitar uma versão, ela não será iniciada.

gcloud

Para rejeitar um build pendente usando gcloud commands, execute o seguinte comando na janela do terminal:

gcloud alpha builds reject BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Substitua os valores dos marcadores nos comandos acima pelo seguinte:

  • BUILD_ID é o ID do build que você quer rejeitar.
  • PROJECT_ID é o ID do projeto.
  • [Opcional] URL é o URL que contém informações sobre a rejeição, como um link para um tíquete do JIRA.
  • [Opcional] COMMENT é a mensagem que você quer exibir após a rejeição do build.

Se você rejeitar um build, ele nunca será iniciado.

Como receber notificações de builds aguardando aprovação

Você pode usar os notificadores do Cloud Build para receber notificações sobre builds pendentes usando um notificador mantido do Cloud Build, como:Slack ou osSMTP servidor ou por criação do seu próprio notificador de dados.

Para configurar notificações, faça o seguinte:

  1. Siga as instruções em uma das seguintes páginas para configurar notificações para o serviço desejado:

  2. Ao configurar notificações usando uma das páginas acima, você precisa configurar seu notificador para filtrar builds com um status PENDING. Assim você receberá notificações sobre versões aguardando aprovação. No exemplo de arquivo de configuração do notificador SMTP a seguir, o campo de filtro usa a Common Expression Language (CEL) para filtrar eventos de compilação com status PENDING:

    apiVersion: cloud-build-notifiers/v1
    kind: SMTPNotifier
    metadata:
      name: example-smtp-notifier
    spec:
      notification:
        filter: build.status == Build.Status.PENDING
        delivery:
          server: example.gmail.com
          port: 0000
          sender: sender@example.com
          ...
    

    Para ver o exemplo completo, consulte o arquivo de configuração do notificador para o notificador SMTP.

  3. Para implantar o notificador, execute o comando gcloud run no terminal. O exemplo a seguir implanta o notificador SMTP usando o Cloud Run.

    gcloud run deploy example.gmail.com \
      --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \
      --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
    

Agora você receberá notificações sobre builds pendentes para seu serviço.

A seguir