O Cloud Build permite configurar gatilhos que não executam imediatamente um build, mas marcam ele como pendente até que sejam aprovados. Se um usuário com permissõesaprovar um build pendente, o build iniciará. 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
-
Enable the Cloud Build API.
Instale a CLI do Google 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:
Abra a página do IAM no console do Google Cloud.
Clique em Conceder acesso.
Você verá o painel Conceder acesso.
Na seção Adicionar participantes, adicione usuários que terão permissão para conceder aprovação para builds pendentes em seu 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.
Na seção Atribuir papéis, 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:
Abra a página Painel do Cloud Build no console do Google Cloud.
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. No lado direito da mensagem, clique em Ver builds para ver a lista de builds aguardando sua aprovação.
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.
Na parte superior da página, clique em Aprovar para aprovar seus builds selecionados.
Antes que o build comece, você verá a caixa de diálogo Aprovar build. Na caixa de diálogo, você pode adicionar uma mensagem opcional e um URL a ser exibido junto com a aprovação do build. Para incluir um URL, clique em Mostrar opções adicionais para inserir um URL.
Na caixa de diálogo, clique em Aprovar para aprovar a versão.
Depois da aprovação, o build começará imediatamente. Se a política
da organização (constraints/cloudbuild.allowedIntegrations
) negar o acesso ao
repositório conectado, ela
vai substituir a aprovação. Para saber mais, consulte Como as builds de bloqueio funcionam na política da organização.
gcloud
Para aprovar um build pendente usando gcloud commands
, execute o seguinte comando na janela do terminal:
gcloud 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 do build.
Depois da aprovação, o build começará imediatamente. Se a política
da organização para definir builds para integrações permitidas
(constraints/cloudbuild.allowedIntegrations
) estiver definida, ela
vai substituir a aprovação. Para saber mais, consulte Aplicando organização
política para criar gatilhos.
Como rejeitar builds
Console
Para rejeitar um build pendente no console do Google Cloud:
Abra a página Painel do Cloud Build no console do Google Cloud.
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. No lado direito da mensagem, clique em Ver builds para ver a lista de builds aguardando sua aprovação.
É possível selecionar vários builds a serem rejeitados ou um build individual para rejeitar. Clique nas caixas de seleção dos builds que você quer rejeitar.
Clique em Rejeitar na parte superior da página para rejeitar o build.
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 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 que seja exibida 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 pelo Cloud Build, como:Slack, servidor SMTP ou por criação do seu próprio notificador.
Para configurar notificações, faça o seguinte:
Siga as instruções em uma das seguintes páginas para configurar notificações para o serviço desejado:
Ao configurar notificações usando uma das páginas acima, você precisa configurar seu notificador para filtrar builds com um status PENDENTE. Assim você receberá notificações sobre builds 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 build com status PENDENTE:
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.
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
- Saiba como criar e gerenciar gatilhos de compilação.
- Saiba como ver os resultados de compilação para os gatilhos de compilação.