Criar repositórios do GitLab

O Cloud Build permite criar gatilhos para compilação a partir de repositórios hospedados no GitLab, permitindo executar builds em resposta a eventos como envios de confirmação ou solicitações de mesclagem associadas ao seu repositório do GitLab.

Nesta página, explicamos como ativar a funcionalidade de acionador 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

  • Ative as APIs Cloud Build and Secret Manager.

    Ative as APIs

Como criar um gatilho do GitLab

Console

Para criar um gatilho do GitLab usando o console do Google Cloud:

  1. Acesse a página Gatilhos:

    Abrir a página Acionadores

  2. Selecione o projeto do Google Cloud na parte superior da página e clique em Abrir.

  3. Clique em Criar gatilho.

  4. 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 (Cloud Source Repositories não compatível): 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 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 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 um Dockerfile, você poderá fornecer um tempo limite para a criação. Depois de fornecer o Dockerfile e o nome da imagem, você verá uma visualização do comando docker 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.

  5. 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 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 ao GitLab pelo Cloud Build ajudam a identificar gatilhos por nome e ver os resultados nos repositórios do GitLab.

Os dados a seguir são compartilhados atualmente entre o Cloud Build e seu host do GitLab:

  • ID do projeto do Google Cloud
  • Nome do gatilho

A seguir