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, e depois executar automaticamente um build quando novos eventos chegam. Você também pode configurar acionadores para criar código em qualquer mudança no repositório de origem ou apenas em mudanças que correspondam a determinados critérios.

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

Gatilhos de evento do repositório

O Cloud Build permite executar automaticamente builds em eventos do repositório, como solicitações de envio ou envio. É possível conectar repositórios externos, como repositórios no GitHub ou Bitbucket, ao Cloud Build ou usar códigos no Cloud Source Repositories para suas versões. É possível conectar qualquer repositório de origem ao Cloud Build, mas o Cloud Build fornece gatilhos de evento de repositório específicos que podem ser usados para integrar sistemas de gerenciamento de código-fonte (SCMs, na sigla em inglês) específicos. Nesta seção, falamos sobre os gatilhos de evento de repositório disponíveis.

Acionadores do GitHub

É possível criar gatilhos do GitHub para executar builds automaticamente em resposta a eventos do repositório, como solicitações de envio ou envio. É possível visualizar o status da versão 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 envio associadas ao repositório do GitLab Enterprise Edition. Para saber mais, consulte Como criar repositórios do GitLab Enterprise Edition (em inglês).

Gatilhos do Bitbucket Server

É possível criar gatilhos para repositórios hospedados em uma instância do Bitbucket Server, incluindo instâncias hospedadas em um ambiente local. É possível conectar seu 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 a partir do data center do Bitbucket.

Gatilhos do Bitbucket Cloud

Crie 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 gatilhos manuais para executar uma programação. 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, só é possível configurar o gatilho para usar filtros e executar uma build apenas se a imagem enviada corresponder a uma tag específica, como prod. Além disso, os gatilhos do Pub/Sub podem ser configurados para assinar qualquer tópico do Pub/Sub. Para saber mais, consulte Automatizar versões 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 a um URL personalizado permitem conectar diretamente sistemas externos e sistemas de gerenciamento de código-fonte (SCMs, na sigla em inglês) externos, como Bitbucket.com, Bitbucket Server ou GitLab, ao Cloud Build. Ao criar gatilhos de webhook, também é possível definir a configuração da compilação in-line no gatilho para controlar quais repositórios o gatilho clona durante o tempo de compilação, em vez de especificar explicitamente uma origem. Para saber mais, consulte Automatizar versões em resposta a eventos de webhook. Além disso, para saber como 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 oferecem recursos que oferecem controle refinado sobre como uma versão é executada. Nesta seção, discutimos vários recursos associados aos gatilhos.

Gatilhos manuais programados

É possível programar gatilhos manuais para executar builds automaticamente em uma programação predefinida. Por exemplo, você pode configurar um gatilho programado para executar uma compilaçã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 gatilho, lista de imagens ou valores de substituição. Use 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

Você pode configurar gatilhos para não executar imediatamente um build, mas marcar um build como pendente até que seja 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 gatilhos que exigem aprovação, consulte Builds do Gate na 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 do tópico cloud-builds do Pub/Sub. Os notificadores também podem filtrar 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 SMTP ou criar seu próprio notificador.

A seguir