Gatilhos do Cloud Build

O Cloud Build usa acionadores de versão para ativar a automação de CI/CD. É possível configurar gatilhos para detectar eventos recebidos, como quando uma nova confirmação é enviada para um repositório ou quando uma solicitação de envio é iniciada. Depois disso, uma versão é executada automaticamente quando novos eventos chegam. Também é possível configurar acionadores para criar código em qualquer mudança no repositório de origem ou somente em mudanças que correspondam a determinados critérios.

Nesta página, você encontra uma visão geral de cada tipo de gatilho e recursos associados a eles.

Gatilhos de evento do repositório

Com o Cloud Build, é possível executar builds automaticamente em eventos de repositório, como solicitações de push ou pull. É possível conectar repositórios externos, como repositórios no GitHub ou Bitbucket, ao Cloud Build ou usar código no Cloud Source Repositories para suas versões. É possível conectar qualquer repositório de origem ao Cloud Build, mas ele fornece gatilhos de evento de repositório específicos que podem ser usados para integrar sistemas de gerenciamento de código-fonte (SCMs) específicos. Esta seção discute gatilhos de evento de repositório disponíveis.

Acionadores do GitHub

Você pode criar gatilhos do GitHub para executar automaticamente versões em resposta a eventos de repositório, como solicitações de envio ou de envio. É possível visualizar o status do build do gatilho no GitHub e no console do Google Cloud. Também é possível usar o app GitHub do Cloud Build para se conectar e criar código no GitHub. Para saber mais, consulte Como criar repositórios do GitHub.

Gatilhos do GitHub Enterprise

É possível criar gatilhos para repositórios hospedados em uma instância do GitHub Enterprise, incluindo instâncias hospedadas em um ambiente local e não acessíveis por uma conexão de Internet pública. Os gatilhos do GitHub Enterprise podem ser usados para executar builds em resposta a solicitações de push ou pull de uma instância do GitHub Enterprise. Para saber mais, consulte Como criar repositórios do GitHub Enterprise.

Gatilhos do GitLab Enterprise Edition

É possível criar gatilhos para repositórios hospedados em uma instância do GitLab Enterprise Edition, incluindo instâncias hospedadas em uma rede privada. Os gatilhos do GitLab Enterprise Edition podem ser usados para executar builds em resposta a solicitações de envio ou de envio associadas ao seu repositório do GitLab Enterprise Edition. Para saber mais, consulte Como criar repositórios no GitLab Enterprise Edition.

Gatilhos do Bitbucket Server

É possível criar gatilhos para repositórios hospedados em uma instância do servidor Bitbucket, incluindo instâncias hospedadas em um ambiente local. É possível conectar o repositório do servidor Bitbucket ao Cloud Build várias vezes com várias conexões de host. Para saber mais sobre como criar acionadores para executar builds em resposta a eventos, consulte Como criar repositórios no Bitbucket Server.

Gatilhos do data center do Bitbucket

É possível criar gatilhos para repositórios hospedados em uma instância de data center do Bitbucket, incluindo instâncias hospedadas em um ambiente local. Os gatilhos do data center do Bitbucket podem ser usados para executar builds em resposta a eventos, como solicitações de envio ou envio de confirmação. Para saber mais, consulte Como criar repositórios no data center do Bitbucket.

Gatilhos do Bitbucket Cloud

É possível criar gatilhos para repositórios hospedados no Bitbucket Cloud. Os gatilhos do Bitbucket Cloud podem ser usados para executar builds em resposta a eventos, como solicitações de envio ou envio de confirmação. Para saber mais, consulte Como criar repositórios no Bitbucket Cloud.

Gatilhos manuais

É possível criar gatilhos manuais para executar builds manualmente e modificar valores de variáveis de substituição definidas no momento da invocação antes de executar um build. Também é possível configurar acionadores manuais para execução programada. Para saber mais, consulte Criar código manualmente em repositórios de origem.

Gatilhos do Pub/Sub

É possível criar acionadores do Pub/Sub para executar builds em resposta a qualquer mensagem publicada no Pub/Sub. Por exemplo, é possível usar gatilhos do Pub/Sub para criar em resposta a envios de imagem para o Artifact Registry. Nesse caso, é possível configurar o gatilho para usar filtros para executar um build somente se a imagem enviada corresponder a uma tag específica, como prod. Além disso, os gatilhos do Pub/Sub podem ser configurados para se inscrever em qualquer tópico do Pub/Sub. Para saber mais, consulte Automatizar builds em resposta a eventos do Pub/Sub.

Gatilhos de webhook

É possível criar gatilhos de webhook para executar builds em resposta a webhooks. Os eventos de webhook enviados para um URL personalizado permitem conectar diretamente ao Cloud Build sistemas externos e sistemas de gerenciamento de código-fonte (SCMs), como Bitbucket.com, Bitbucket Server ou GitLab. Ao criar gatilhos de webhook, também é possível definir a configuração do build in-line no gatilho para controlar quais repositórios o gatilho clona durante o tempo de build, em vez de especificar explicitamente uma origem. Para saber mais, consulte Automatizar builds em resposta a eventos de webhook. Além disso, para aprender a usar gatilhos de webhook para criar repositórios de SCMs específicos, consulte Como criar repositórios do Bitbucket Server, Como criar repositórios do Bitbucket Cloud e Como criar repositórios do GitLab.

Recursos de gatilho

Os gatilhos do Cloud Build fornecem recursos que dão a você um controle refinado sobre como uma compilação é executada. Esta seção discute vários recursos associados aos gatilhos.

Gatilhos manuais programados

Você pode programar gatilhos manuais para executar builds automaticamente em uma programação predefinida. Por exemplo, você pode configurar um gatilho programado para executar uma versão todos os sábados às 6h. Para programar builds, crie um gatilho manual e invoque o gatilho usando o Cloud Scheduler. Para saber mais, consulte Programar builds.

Como filtrar eventos

O Cloud Build usa a Common Expression Language (CEL) com a variável build nos campos listados no recurso Build para acessar campos associados ao evento de versão, como ID do acionador, lista de imagens ou valores de substituição. Você pode usar a string filter para filtrar eventos de build no arquivo de configuração de build usando qualquer campo listado no recurso Build. Para saber mais, consulte Usar a CEL para filtrar eventos de build.

Variáveis de substituição

Você pode especificar variáveis de substituição no seu arquivo de configuração da compilação para substituir valores específicos no tempo de compilação. Por exemplo, convém usar variáveis de substituição se um valor não for conhecido até o momento da compilação ou se você quiser reutilizar uma solicitação já existente com variáveis diferentes. O Cloud Build fornece substituições padrão que podem ser usadas para builds invocados por gatilhos, como mapeamento de variáveis para o nome do gatilho ou repositório. Você também pode definir suas próprias variáveis de substituição. Para saber mais, consulte Como substituir valores de variáveis.

Expansões de parâmetros Bash

É possível aplicar expansões de parâmetros bash a valores de variáveis de substituição. As expansões do parâmetro Bash permitem manipular strings associadas a variáveis existentes. Por exemplo, use as expansões de parâmetros bash para colocar letras maiúsculas ou substituir uma substring. Para saber mais, consulte Expansões de parâmetros balanceados.

Vinculações de payload

É possível armazenar parte do payload de eventos do gatilho como uma variável de substituição usando vinculações de payload. As variáveis associadas a um payload são chamadas de vinculações e estão disponíveis para builds invocados por eventos de push e pull. É possível usar vinculações para acessar dados adicionais relacionados ao seu build, como o autor de uma solicitação de envio. Para saber mais, consulte Vinculações de payload.

Aprovações

É possível configurar gatilhos para não executar um build imediatamente, mas marcar um build como pendente até ser aprovado. Se um usuário com permissões aprovar um build pendente, ele será iniciado. Se a aprovação for negada, o build não será iniciado. Para saber como configurar acionadores que exigem aprovação, consulte Construções do portão após a aprovação.

Notificações de status da versão

É possível configurar os notificadores do Cloud Build para detectar atualizações de eventos de build no tópico cloud-builds do Pub/Sub. Os Notificadores também podem filtrar as mensagens recebidas pelo tópico e enviar mensagens aos seus serviços conectados. O Cloud Build fornece e mantém imagens de notificador implantáveis no repositório cloud-build-notifiers. É possível configurar notificações usando um notificador do Cloud Build, como BigQuery, HTTP, Slack ou IMAP, ou crie seu próprio notificador.

A seguir