O Cloud Build permite criar gatilhos para o build Repositórios hospedados no GitLab (em inglês), permitindo que você execute builds em resposta a eventos, como solicitações de envio de commit ou mesclagem associadas ao seu 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 seu projeto do Google Cloud 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 gatilho.
Região: selecione a região do gatilho.
- Se o arquivo de configuração do build associado ao gatilho especificar um pool privado, o Cloud Build usa o pool para executar seu build. Nesse caso, a região especificada no gatilho precisa corresponder à região em que você criou o pool privado.
- Se o arquivo de configuração do build associado ao gatilho não especifica um pool privado, O Cloud Build usa a configuração pool para executar seu build na mesma região como gatilho.
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 envio: define o gatilho para iniciar uma compilação após commits para um 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 controla se uma versão será executada automaticamente pelo gatilho:
Obrigatório, exceto para proprietários e colaboradores: quando uma mesclagem for criada ou atualizada por um proprietário ou colaborador do repositório, builds serão executados automaticamente pelo gatilho. Se um usuário externo colaborador inicia a ação, os builds serão executados somente após um proprietário ou colaborador comenta
/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 serã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 seu arquivo de configuração de build no Console do Google Cloud usando sintaxe YAML ou JSON. Clique em Concluído para salvar a configuração da compilação.
Clique em Criar para criar seu 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 projeto no Google Cloud.
- REGION é a região do seu gatilho.
- 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:
- ID do projeto do Google Cloud
- Nome do gatilho
A seguir
- Saiba como gerenciar gatilhos de build.