O Cloud Build usa acionadores de compilação para ativar a automatização de CI/CD. Pode configurar acionadores para ouvir eventos recebidos, como quando um novo commit é enviado para um repositório ou quando é iniciada uma solicitação de obtenção, e, em seguida, executar automaticamente uma compilação quando chegarem novos eventos. Também pode configurar acionadores para criar código em quaisquer alterações ao repositório de origem ou apenas em alterações que correspondam a determinados critérios.
Esta página oferece uma vista geral de cada tipo de acionador e das capacidades associadas aos acionadores.
Acionadores de eventos de repositório
O Cloud Build permite-lhe executar automaticamente compilações em eventos de repositórios, como envios ou pedidos de obtenção. Pode associar repositórios externos, como repositórios no GitHub ou Bitbucket, ao Cloud Build ou usar código nos Cloud Source Repositories para as suas compilações. Embora possa associar qualquer repositório de origem ao Cloud Build, o Cloud Build fornece acionadores de eventos de repositório específicos que pode usar para integrar sistemas de gestão de código fonte (SCMs) específicos. Esta secção aborda os acionadores de eventos de repositório disponíveis.
Acionadores do GitHub
Pode criar acionadores do GitHub para executar automaticamente compilações em resposta a eventos do repositório, como envios ou pedidos de envio. Pode ver o estado de compilação do acionador no GitHub e na Google Cloud consola. Também pode usar a app GitHub do Cloud Build para ligar e criar código no GitHub. Para saber mais, consulte o artigo Criar repositórios a partir do GitHub.
Acionadores do GitHub Enterprise
Pode criar acionadores para repositórios alojados numa instância do GitHub Enterprise, incluindo instâncias alojadas num ambiente no local e não acessíveis através de uma ligação pública à Internet. Os acionadores do GitHub Enterprise podem ser usados para executar compilações em resposta a envios ou pedidos de envio de uma instância do GitHub Enterprise. Para saber mais, consulte o artigo Criar repositórios a partir do GitHub Enterprise.
Acionadores do GitLab Enterprise Edition
Pode criar acionadores para repositórios alojados numa instância do GitLab Enterprise Edition, incluindo instâncias alojadas numa rede privada. Os acionadores do GitLab Enterprise Edition podem ser usados para executar compilações em resposta a envios de commits ou pedidos de envio associados ao seu repositório do GitLab Enterprise Edition. Para saber mais, consulte o artigo Criar repositórios a partir do GitLab Enterprise Edition.
Acionadores do Bitbucket Server
Pode criar acionadores para repositórios alojados numa instância do Bitbucket Server, incluindo instâncias alojadas num ambiente no local. Pode associar o seu repositório do Bitbucket Server ao Cloud Build várias vezes com várias associações de anfitriões. Para saber como criar acionadores para executar compilações em resposta a eventos, consulte o artigo Criar repositórios a partir do Bitbucket Server.
Acionadores do Bitbucket Data Center
Pode criar acionadores para repositórios alojados numa instância do Bitbucket Data Center, incluindo instâncias alojadas num ambiente no local. Os acionadores do Bitbucket Data Center podem ser usados para executar compilações em resposta a eventos como envios de commits ou pedidos de envio. Para saber mais, consulte o artigo Crie repositórios a partir do Bitbucket Data Center.
Acionadores do Bitbucket Cloud
Pode criar acionadores para repositórios alojados no Bitbucket Cloud. Os acionadores do Bitbucket Cloud podem ser usados para executar compilações em resposta a eventos como envios de commits ou pedidos de envio. Para saber mais, consulte o artigo Criar repositórios a partir do Bitbucket Cloud.
Acionadores manuais
Pode criar acionadores manuais para executar compilações manualmente e substituir os valores das variáveis de substituição definidas no momento da invocação antes de executar uma compilação. Também pode configurar acionadores manuais para serem executados de acordo com uma programação. Para saber mais, consulte o artigo Crie código manualmente em repositórios de origem.
Acionadores do Pub/Sub
Pode criar acionadores do Pub/Sub para executar compilações em resposta a qualquer mensagem publicada através do Pub/Sub. Por exemplo, pode usar acionadores do Pub/Sub para criar em resposta a envios de imagens para o Artifact Registry. Neste caso, pode configurar o acionador para usar filtros para executar uma compilação apenas se a imagem enviada corresponder a uma etiqueta específica, como prod
.
Além disso, os acionadores do Pub/Sub podem ser configurados para subscrever
qualquer tópico do Pub/Sub. Para saber mais, consulte o artigo Automatize as compilações em resposta a eventos do Pub/Sub.
Acionadores de webhook
Pode criar acionadores de webhook para executar compilações em resposta a webhooks. Os eventos de webhook enviados para um URL personalizado permitem-lhe ligar diretamente sistemas externos e sistemas de gestão de código fonte (SCMs) externos, como Bitbucket.com, Bitbucket Server ou GitLab, ao Cloud Build. Quando cria acionadores de webhook, também pode definir a configuração de compilação inline no acionador para controlar que repositórios o acionador clona durante o tempo de compilação, em vez de especificar explicitamente uma origem. Para saber mais, consulte o artigo Automatize compilações em resposta a eventos de webhook. Além disso, para saber como usar acionadores de webhook para criar repositórios a partir de SCMs específicos, consulte os artigos Criar repositórios a partir do Bitbucket Server, Criar repositórios a partir do Bitbucket Cloud e Criar repositórios a partir do GitLab.
Acionadores para repositórios associados ao Developer Connect
O Developer Connect permite-lhe associar produtos externos ou ferramentas de programador não pertencentes à Google Google Cloud através de passos e apps padronizados. Pode configurar acionadores que criam a partir de repositórios ligados através do Developer Connect para os seguintes SCMs:
- Bitbucket Cloud
- Bitbucket Data Center
- Bitbucket Server
- GitHub
- GitHub Enterprise
- GitLab
- Gitlab Enterprise Edition
Capacidades de acionamento
Os acionadores do Cloud Build oferecem capacidades que lhe dão um controlo detalhado sobre a forma como uma compilação é executada. Esta secção aborda várias capacidades associadas aos acionadores.
Acionadores manuais agendados
Pode agendar acionadores manuais para executar automaticamente compilações num horário predefinido. Por exemplo, pode querer configurar um acionador agendado para executar uma compilação todos os sábados às 06:00. Para agendar compilações, pode criar um acionador manual e invocar o acionador através do Cloud Scheduler. Para saber mais, consulte o artigo Agende compilações.
Filtrar eventos
O Cloud Build usa o Idioma de expressão comum (IEC) com a variável build
nos campos indicados no recurso Build para aceder aos campos associados ao seu evento de compilação, como o ID do acionador, a lista de imagens ou os valores de substituição. Pode usar a string filter
para filtrar eventos de compilação no ficheiro de configuração de compilação usando qualquer campo listado no recurso Build. Para saber mais, consulte o artigo Use o IEC para filtrar eventos de compilação
Variáveis de substituição
Pode especificar variáveis de substituição no ficheiro de configuração de compilação para substituir valores específicos no momento da compilação. Por exemplo, pode querer usar variáveis de substituição se um valor não for conhecido até ao momento da compilação ou se quiser reutilizar um pedido de compilação existente com variáveis diferentes. O Cloud Build fornece substituições predefinidas que pode usar para compilações invocadas por acionadores, como variáveis de mapeamento para o nome do acionador ou o nome do repositório. Também pode definir as suas próprias variáveis de substituição. Para saber mais, consulte o artigo Substituir valores de variáveis.
Expansões de parâmetros do Bash
Pode aplicar expansões de parâmetros bash aos valores das variáveis de substituição. As expansões de parâmetros do Bash permitem manipular strings associadas a variáveis existentes. Por exemplo, pode usar expansões de parâmetros bash para escrever letras em maiúsculas ou substituir uma substring. Para saber mais, consulte o artigo Expansões de parâmetros do Bash.
Associações de payloads
Pode armazenar parte da carga útil do evento do acionador como uma variável de substituição usando associações de carga útil. As variáveis associadas a uma carga útil são denominadas associações e estão disponíveis para compilações invocadas por eventos push e pull. Pode usar associações para aceder a dados adicionais relacionados com a sua compilação, como o autor de um pedido de obtenção. Para saber mais, consulte o artigo Associações de payload.
Aprovações
Pode configurar acionadores para não executarem imediatamente uma compilação, mas, em alternativa, marcarem 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. Para saber como configurar acionadores que requerem aprovação, consulte o artigo Restrinja as compilações à aprovação.
Notificações de estado de compilação
Pode configurar os notificadores do Cloud Build para ouvirem atualizações de eventos de compilação do Pub/Sub no tópico cloud-builds
predefinido ou num tópico definido pelo utilizador.
Os notificadores também podem filtrar mensagens recebidas pelo tópico e enviar mensagens para os seus serviços ligados. O Cloud Build fornece e mantém imagens de notificador implementáveis no repositório cloud-build-notifiers
.
Pode configurar notificações através de um notificador do Cloud Build,
como o BigQuery,
HTTP,
Slack ou
SMTP ou
criar o seu próprio notificador.
O que se segue?
- Saiba como criar e gerir acionadores de compilação.