O Cloud Build usa acionadores de versão para ativar a automação de CI/CD. Você pode configurar acionadores para detectar 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 automaticamente um build quando novos eventos chegarem. Também é possível configurar acionadores para criar código em qualquer alteração no repositório de origem ou somente em alterações que correspondam 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 builds automaticamente 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 sistemas de gerenciamento de código-fonte (SCMs, na sigla em inglês) específicos. Esta seção discute 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 de push ou pull. Você pode conferir 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 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 do GitHub Enterprise. Para saber mais, consulte Como criar repositórios do GitHub Enterprise.
Gatilhos do GitLab Enterprise Edition
É possível criar acionadores para repositórios hospedados em uma instância do GitLab Enterprise Edition, incluindo instâncias hospedadas em uma rede particular. Os gatilhos do GitLab Enterprise Edition podem ser usados para executar builds em resposta a confirmações de envio ou solicitações de envio associadas ao repositório do GitLab Enterprise Edition. Para saber mais, consulte Como criar repositórios do GitLab Enterprise Edition.
Acionadores do Bitbucket Server
É possível criar acionadores 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 Bitbucket Server ao Cloud Build várias vezes com várias conexões de host. Para saber mais sobre como criar gatilhos para executar builds em resposta a eventos, consulte Como criar repositórios do Bitbucket Server.
Gatilhos do Bitbucket Data Center
É possível criar acionadores para repositórios hospedados em uma instância do Bitbucket Data Center, incluindo instâncias hospedadas em um ambiente local. Os gatilhos do Bitbucket Data Center podem ser usados para executar builds em resposta a eventos, como push de confirmação ou solicitações de pull. Para saber mais, consulte Como criar repositórios do Bitbucket Data Center.
Gatilhos do Bitbucket Cloud
É possível criar acionadores 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 pull ou push de confirmação. Para saber mais, consulte Como criar repositórios do 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 executar em 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 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
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 sistemas externos e sistemas de gerenciamento de código-fonte externo (SCMs), 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 do build inline no gatilho para controlar quais repositórios o gatilho clona durante a compilação, em vez de especificar explicitamente uma origem. Para saber mais, consulte Como automatizar builds 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 fornecem recursos que dão a você um controle refinado sobre como uma versão é executada. Esta seção discute vários recursos associados a acionadores.
Acionadores manuais programados
É 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 acionador manual e invocar o acionador 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
os campos associados ao evento de build, como o ID do acionador, 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 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 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 Bloquear builds por aprovação.
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 mensagens para os 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
- Saiba como criar e gerenciar gatilhos de compilação.