Gatilhos do Cloud Build

O Cloud Build usa acionadores de versão para ativar a automação de CI/CD. Você pode configurar acionadores para ouvir eventos de entrada, como quando uma nova confirmação é enviada para um repositório ou quando uma solicitação de envio é iniciada e, em seguida, executar um build automaticamente quando novos eventos chegam. Também é possível configurar acionadores para criar código em qualquer alteração no seu repositório de origem ou somente em alterações que corresponderem a determinados critérios.

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

Gatilhos de evento do repositório

O Cloud Build permite executar automaticamente builds em eventos de repositório, como solicitações de push ou pull. Você pode conectar repositórios externos, como repositórios no GitHub ou no Bitbucket, ao Cloud Build ou usar código no Cloud Source Repositories para seus builds. Embora seja possível conectar qualquer repositório de origem ao Cloud Build, o Cloud Build fornece gatilhos de eventos de repositório específicos que podem ser usados para integrar facilmente sistemas de gerenciamento de código-fonte (SCMs, na sigla em inglês) específicos. Nesta seção, discutimos os gatilhos de eventos do repositório disponíveis.

Acionadores do GitHub

É possível criar acionadores do GitHub para executar builds automaticamente em resposta a eventos do repositório, como solicitações push ou pull. Você pode ver o status da versão do gatilho no GitHub e no Console do Cloud. Também é possível usar o app GitHub do Cloud Build para conectar e criar código no GitHub. Para saber mais, consulte Como criar repositórios do GitHub.

Gatilhos do GitHub Enterprise

É possível criar acionadores 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 meio de uma conexão de Internet pública. Os gatilhos do GitHub Enterprise podem ser usados para executar builds em resposta a solicitações push ou pull de uma instância GitHub GitHub. Para saber mais, consulte Como criar repositórios do GitHub Enterprise.

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 executar em uma programação. Para saber mais, consulte Como criar gatilhos manuais.

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 push de imagem para o Artifact Registry. Nesse caso, você pode 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 assinar qualquer tópico do Pub/Sub. Para saber mais, consulte Como criar gatilhos 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 a conexão direta de sistemas externos e sistemas de gerenciamento de código-fonte (SCMs) externos, como o Bitbucket.com, o Bitbucket Server ou o GitLab, ao Cloud Build. Ao criar gatilhos de webhook, você também pode definir a configuração da compilação in-line no gatilho para controlar quais repositórios o gatilho será clonado durante a compilação, em vez de especificar explicitamente uma origem. Para saber mais, consulte Como criar gatilhos 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 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 versão é executada. Nesta seção, discutimos vários recursos associados a acionadores.

Como programar acionadores manuais

É possível programar acionadores manuais para executar automaticamente builds em uma programação predefinida. Por exemplo, você pode configurar um acionador programado para executar um build todos os sábados às 6h. Para programar builds, é possível criar um gatilho manual e invocar o gatilho usando o Cloud Scheduler. Para saber mais, consulte Como criar gatilhos programados.

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 os campos associados ao evento de build, como o ID do gatilho, a lista de imagens ou os valores de substituição. Use a string filter para filtrar eventos de build no arquivo de configuração do build usando qualquer campo listado no recurso Build. Para saber mais, consulte Usar CEL para filtrar eventos de compilação.

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.

Como aprovar builds

É possível configurar os gatilhos para não executar um build imediatamente, mas marcar um build como pendente até a aprovação. Se um usuário com permissões aprovar um build pendente, o build será iniciado. Se a aprovação for negada, o build não será iniciado. Para saber como configurar gatilhos que exigem aprovação, consulte Como aprovar builds.

Notificações de status da versão

É possível configurar os notificadores do Cloud Build para detectar as atualizações de eventos criadas no tópico cloud-builds do Pub/Sub. Os Notificadores também podem filtrar as mensagens recebidas pelo tópico e enviar as mensagens para o serviço desejado. 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 oucriar seu próprio notificador de dados.

A seguir