A criação do portão baseia-se na aprovação

O Cloud Build permite-lhe configurar acionadores que não executam imediatamente uma compilação, mas marcam uma compilação como pendente até ser aprovada. Se um utilizador com autorizações aprovar uma compilação pendente, a compilação é iniciada. Se a aprovação for recusada, a compilação não é iniciada.

Esta página explica como pode aprovar ou rejeitar compilações manualmente. Para saber como configurar um acionador que requer aprovação, consulte o artigo Criar um acionador de compilação.

Antes de começar

  • Enable the Cloud Build API.

    Enable the API

  • Instale a CLI do Google Cloud.

  • Se ainda não o fez, crie um acionador de compilação configurado para exigir aprovação.

Conceder autorizações

Se um utilizador tiver a função de editor do Cloud Build, tem autorizações para atualizar um acionador de modo a exigir ou não aprovação. Para saber mais acerca das autorizações do Cloud Build, consulte o artigo IAM e autorizações. Para conceder a um utilizador autorização para aprovar compilações no seu projeto, o utilizador tem de ter a função Aprovador do Cloud Build.

Para adicionar a função Aprovador do Cloud Build:

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

    Abra a página IAM

  2. Clique em Conceder acesso.

    É apresentado o painel Conceder acesso.

  3. Na secção Adicionar responsáveis, adicione utilizadores para lhes conceder autorização para conceder aprovação para compilações pendentes no seu projeto.

    Tem de adicionar um ou mais responsáveis nesta secção. Se se adicionar como diretor, tenha em atenção que continua a ter de aprovar manualmente uma compilação pendente se o seu acionador estiver protegido por uma aprovação.

  4. Na secção Atribuir funções, selecione Cloud Build > Aprovador do Cloud Build.

Os utilizadores que especificou têm agora acesso para aprovar ou rejeitar compilações pendentes.

Aprovar compilações

Consola

Para aprovar uma compilação pendente na consola Google Cloud :

  1. Abra a página Painel de controlo do Cloud Build na Google Cloud consola.

    Abra a página do painel de controlo do Cloud Build

  2. Se tiver compilações para aprovar, é apresentada uma mensagem na parte superior da página com o número de compilações a aguardar a sua aprovação. À direita da mensagem, clique em Ver compilações para ver a lista de compilações que aguardam a sua aprovação.

  3. Clique nas caixas de verificação das compilações que quer aprovar. Pode selecionar várias compilações para aprovar ou uma compilação individual para aprovar.

  4. Na parte superior da página, clique em Aprovar para aprovar as compilações selecionadas.

  5. Antes de iniciar a compilação, é apresentada a caixa de diálogo Aprovar compilação. Na caixa de diálogo, pode adicionar uma mensagem opcional e um URL a apresentar juntamente com a aprovação da compilação. Para incluir um URL, clique em Mostrar opções adicionais para introduzir um URL.

  6. Na caixa de diálogo, clique em Aprovar para aprovar a compilação.

Depois de aprovar, a compilação é iniciada imediatamente. Se a política da organização (constraints/cloudbuild.allowedIntegrations) negar o acesso ao repositório ligado, a política substitui a aprovação. Para saber mais, consulte o artigo O Gate baseia-se na política da organização.

gcloud

Para aprovar uma compilação pendente através do 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 de posição nos comandos acima pelo seguinte:

  • BUILD_ID é o ID da versão que quer aprovar.
  • PROJECT_ID é o ID do seu projeto.
  • [Opcional] URL é o URL que contém informações sobre a aprovação, como um link para um pedido de assistência do JIRA.
  • [Opcional] COMMENT é a mensagem que quer apresentar após a aprovação da compilação.

Depois de aprovar, a compilação é iniciada imediatamente. Se a política da organização para definir compilações para integrações permitidas (constraints/cloudbuild.allowedIntegrations) estiver definida, a política substitui a aprovação. Para saber mais, consulte o artigo Aplicar a política da organização para criar acionadores.

Rejeitar compilações

Consola

Para rejeitar uma compilação pendente na consola Google Cloud :

  1. Abra a página Painel de controlo do Cloud Build na Google Cloud consola.

    Abra a página do painel de controlo do Cloud Build

  2. Se tiver compilações para aprovar, é apresentada uma mensagem na parte superior da página com o número de compilações a aguardar a sua aprovação. À direita da mensagem, clique em Ver compilações para ver a lista de compilações que aguardam a sua aprovação.

  3. Pode selecionar várias compilações para rejeitar ou uma compilação individual para rejeitar. Clique nas caixas de verificação das compilações que quer rejeitar.

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

Se rejeitar uma compilação, esta não é iniciada.

gcloud

Para rejeitar uma compilação pendente através do 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 de posição nos comandos acima pelo seguinte:

  • BUILD_ID é o ID da compilação que quer rejeitar.
  • PROJECT_ID é o ID do seu projeto.
  • [Opcional] URL é o URL que contém informações sobre a rejeição, como um link para um pedido de assistência do JIRA.
  • [Opcional] COMMENT é a mensagem que quer apresentar após a rejeição da compilação.

Se rejeitar uma compilação, esta nunca é iniciada.

Receber notificações de compilações que aguardam aprovação

Pode usar notificadores do Cloud Build para receber notificações sobre compilações pendentes através de um notificador mantido pelo Cloud Build, como o servidor Slack ou SMTP, ou criar o seu próprio notificador.

Para configurar as notificações:

  1. Siga as instruções numa das seguintes páginas para configurar as notificações para o serviço pretendido:

  2. Quando configurar notificações através de uma das páginas acima, tem de configurar o seu notificador para filtrar compilações com o estado PENDING. Esta opção envia-lhe notificações sobre compilações que aguardam aprovação. No seguinte exemplo de ficheiro de configuração do notificador SMTP, o campo de filtro usa o Idioma de expressão comum (IEC) para filtrar eventos de compilação com um estado 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 ficheiro de configuração do notificador para o notificador SMTP.

  3. Para implementar o seu notificador, execute o comando gcloud run no terminal. O exemplo seguinte implementa o notificador SMTP através do 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, deve receber notificações para compilações pendentes no seu serviço.

O que se segue?