O Cloud Build permite criar gatilhos para criar em repositórios hospedados no GitLab, o que possibilita a execução de builds em resposta a eventos, como solicitações de push de confirmação ou de mesclagem associadas ao repositório do GitLab.
Esta página explica como ativar a funcionalidade de gatilho em uma instância do GitLab. Saiba mais sobre os gatilhos do Cloud Build e os repositórios do Cloud Build.
Antes de começar
-
Enable the Cloud Build and Secret Manager APIs.
- Siga as instruções para conectar um host do GitLab.
- Siga as instruções para conectar um repositório do GitLab.
Como criar um gatilho do GitLab
Console
Para criar um gatilho do GitLab usando o console do Google Cloud:
Acesse a página Gatilhos:
Selecione o Google Cloud projeto na parte de cima da página e clique em Abrir.
Clique em Criar gatilho.
Preencha as configurações de gatilho a seguir:
Nome: nome do acionador.
Região: selecione a região do acionador.
- Se o arquivo de configuração do build associado ao acionador especificar um pool particular, o Cloud Build vai usar o pool particular para executar o build. Nesse caso, a região especificada no acionador precisa corresponder à região em que você criou o pool particular.
- Se o arquivo de configuração do build associado ao acionador não especificar um pool particular, o Cloud Build vai usar o pool padrão para executar o build na mesma região do acionador.
Descrição (opcional): uma descrição do gatilho.
Evento: selecione o evento de repositório para invocar seu gatilho.
Enviar para uma ramificação: defina o gatilho para iniciar um build em confirmações de uma ramificação específica.
Enviar nova tag por push: configure o gatilho para iniciar um build em confirmações que contenham uma tag específica.
Solicitação de pull: configure o acionador para iniciar um build em confirmações para uma solicitação de mesclagem.
Origem: selecione 2ª geração como sua origem.
Repositório: na lista de repositórios disponíveis, selecione o repositório que você quer. Para conectar um novo repositório, consulte Conectar-se a um repositório do GitLab.
Ramificação ou Tag: especifique uma expressão regular correspondente ao valor da ramificação ou da tag. Para ver informações sobre a sintaxe aceitável de expressões regulares, consulte Sintaxe de RE2 (em inglês).
Controle de comentários: se você selecionou Solicitação de envio como seu Evento, escolha uma das seguintes opções para controlar se um build será executado automaticamente pelo gatilho:
Obrigatório, exceto para proprietários e colaboradores: quando uma solicitação de mesclagem é criada ou atualizada por um proprietário ou colaborador de repositório, os builds são executados automaticamente pelo gatilho. Se um colaborador externo iniciar a ação, os builds só serão executados depois que um proprietário ou colaborador comentar
/gcbrun
na solicitação de mesclagem.Obrigatório: quando uma solicitação de mesclagem é criada ou atualizada por qualquer colaborador, os builds só são executados depois que um proprietário ou colaborador comenta
/gcbrun
na solicitação de mesclagem. Os builds são executados sempre que uma mudança é feita em uma solicitação de mesclagem.Não obrigatório: quando uma solicitação de mesclagem é criada ou atualizada por qualquer colaborador, os builds são executados automaticamente por gatilhos.
Configuração: selecione o arquivo de configuração do build localizado no seu repositório ou configure o build inline no gatilho.
Type: selecione o tipo de configuração a ser usado para o build.
- Arquivo de configuração do Cloud Build (yaml ou json): use um arquivo de configuração do build na sua configuração.
- Dockerfile: use um
Dockerfile
para sua configuração.
Local: especifique o local de configuração.
Repositório: se o arquivo de configuração estiver no repositório, forneça o local do arquivo de configuração do build ou do diretório
Dockerfile
e um nome para a imagem resultante. Se sua configuração for umDockerfile
, você poderá fornecer um tempo limite para a criação. Depois de fornecer oDockerfile
e o nome da imagem, você verá uma visualização do comandodocker build
que sua o build executará.Inline: se você selecionou o arquivo de configuração do Cloud Build (yaml ou json) como opção de configuração, pode especificar a configuração de compilação in-line. Clique em Abrir editor para gravar o arquivo de configuração do build no Console do Google Cloud usando a sintaxe YAML ou JSON. Clique em Concluído para salvar a configuração da compilação.
Clique em Criar para criar o gatilho do GitLab.
gcloud
Para criar gatilhos do GitLab usando comandos gcloud
, execute o seguinte
comando:
gcloud builds triggers create gitlab \
--name=TRIGGER_NAME \
--repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION
Em que:
- TRIGGER_NAME é o nome do gatilho.
- PROJECT_ID é o ID do Google Cloud projeto.
- REGION é a região do acionador.
- CONNECTION_NAME é o nome da sua conexão do GitLab.
- REPO_NAME é o nome do repositório.
- BRANCH_PATTERN é o nome da ramificação no seu repositório para invocar o build.
- TAG_PATTERN é o nome da tag no repositório para invocar o build.
- BUILD_CONFIG_FILE é o caminho para seu arquivo de configuração da compilação.
Compartilhamento de dados
Os dados enviados do Cloud Build para o GitLab ajudam a identificar gatilhos por nome e conferir os resultados da versão nos repositórios do GitLab.
Os dados a seguir são compartilhados entre o Cloud Build e seu host do GitLab:
- Google Cloud ID do projeto
- Nome do gatilho
A seguir
- Saiba como gerenciar gatilhos de build.