O Cloud Build permite criar gatilhos para compilação a partir de repositórios hospedados no GitLab Enterprise Edition, permitindo executar versões em resposta a eventos, como envios de confirmação ou solicitações de mesclagem associadas ao repositório do GitLab Enterprise Edition.
Nesta página, explicamos como ativar o acionador em uma instância do GitLab Enterprise Edition. Saiba mais sobre os gatilhos do Cloud Build e os repositórios do Cloud Build.
Antes de começar
-
Ative as APIs Cloud Build and Secret Manager.
- Siga as instruções para conectar um host do GitLab Enterprise Edition (em inglês).
- Siga as instruções para conectar um repositório do GitLab Enterprise Edition (em inglês).
Criar um gatilho do GitLab Enterprise Edition
Console
Para criar um gatilho do GitLab Enterprise Edition usando o console do Google Cloud:
Acesse a página Gatilhos:
Selecione o projeto do Google Cloud na parte superior 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 da versão associado ao acionador especificar um pool particular, o Cloud Build usa esse pool para executar a versão. 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 da versão associado ao acionador não especificar um pool particular, o Cloud Build usará o pool padrão para executar a versão na mesma região que o 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 envio: configure o gatilho para iniciar uma versão em confirmações de uma solicitação de mesclagem.
Origem: selecione 2a geração como origem.
Repositório: na lista de repositórios disponíveis, selecione o repositório que você quer. Para conectar um repositório novo, consulte Conectar-se a um repositório do GitLab Enterprise Edition (em inglês).
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 o Evento, escolha uma das seguintes opções para controlar se uma versão será executada automaticamente pelo acionador:
Obrigatório, exceto para proprietários e colaboradores: quando uma solicitação de mesclagem é criada ou atualizada por um proprietário ou colaborador do repositório, os builds são executados automaticamente pelo acionador. Se um colaborador externo iniciar a ação, as versões só serão executadas 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, as versões só serão executadas depois que um proprietário ou colaborador comentar
/gcbrun
na solicitação. Os builds são executados sempre que uma alteração em uma solicitação de mesclagem é feita.Não obrigatório: quando uma solicitação de mesclagem é criada ou atualizada por qualquer colaborador, os builds são executados automaticamente por acionadores.
Configuração: selecione o arquivo de configuração do build localizado no repositório ou configure o build inline no acionador.
Tipo: selecione o tipo de configuração a ser usado para seu 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 da versão ou o 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 do build inline. Clique em Abrir Editor para gravar seu 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 do build.
Clique em Criar para gerar o gatilho do GitLab Enterprise Edition.
gcloud
Para criar gatilhos do GitLab Enterprise Edition 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 gatilho.
- CONNECTION_NAME é o nome da sua conexão do GitLab Enterprise Edition.
- 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 ao GitLab Enterprise Edition pelo Cloud Build ajudam a identificar gatilhos por nome e ver os resultados dos builds nos repositórios do GitLab Enterprise Edition.
Os dados a seguir são compartilhados atualmente entre o Cloud Build e seu host do GitLab Enterprise Edition:
- Código do projeto do Cloud
- Nome do gatilho
A seguir
- Saiba como gerenciar gatilhos de compilação.
- Saiba como criar repositórios do GitLab Enterprise Edition em uma rede privada.
- Saiba como realizar implantações azul-verde no Compute Engine.