Criar repositórios do GitLab Enterprise Edition

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Cloud Build permite criar gatilhos de compilação a partir de repositórios hospedados no GitLab Enterprise Edition, permitindo que você execute versões em resposta a eventos como envios de confirmação ou solicitações de envio associados ao seu repositório do GitLab Enterprise Edition.

Nesta página, explicamos como ativar a funcionalidade de gatilho em uma instância do GitLab Enterprise Edition. Se você quiser criar repositórios do GitLab, consulte Como criar repositórios do GitLab (em inglês).

Antes de começar

  • Ative as APIs Cloud Build and Secret Manager.

    Ative as APIs

Como criar um gatilho do GitLab Enterprise Edition

Console

Para criar um gatilho do GitLab Enterprise Edition 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 acionador.

      • Se você selecionar global como a região, o Cloud Build usará o pool padrão para executar seu build.
      • Se você selecionar uma região não global e o arquivo de configuração do build associado ao gatilho especificar um pool privado, o Cloud Build usará o pool privado para executar a versão. Nesse caso, a região especificada no gatilho precisa corresponder à região onde você criou o pool privado.
      • Se você selecionar uma região não global e o arquivo de configuração do build associado ao gatilho não especificar um pool privado, o Cloud Build usará o pool padrão para executar a versão na mesma região do 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 (o Cloud Source Repositories não é compatível): defina o gatilho para iniciar uma versão em confirmações de uma solicitação de envio.

    • Origem: selecione o repositório a ser criado quando o gatilho do GitLab Enterprise Edition for executado.

    • Revisão: selecione a ramificação ou a tag a ser criada quando o gatilho do GitLab Enterprise Edition for executado.

    • Branch: definir um gatilho para criar a ramificação.

    • Tag: defina um acionador para criar a tag.

    • Configuração: selecione o arquivo de configuração do build localizado no seu repositório ou configure o build in-line 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 do build 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 escrever 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 do build.

  5. Clique em Criar para criar o gatilho do GitLab Enterprise Edition.

gcloud

Para criar um gatilho do GitLab Enterprise Edition usando comandos gcloud, é necessário executar o comando gcloud alpha builds triggers create gitlab-enterprise a seguir no terminal:

gcloud alpha builds triggers create gitlab-enterprise
    --name=TRIGGER_NAME \
    --project-namespace=GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE \
    --gitlab-config-resource=projects/PROJECT_NUMBER/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME \
    --branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
    --build-config=BUILD_CONFIG

Substitua:

  • TRIGGER_NAME é o nome do gatilho.
  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE o namespace do seu projeto do GitLab Enterprise Edition.
  • PROJECT_NUMBER é o número do seu projeto do Google Cloud.
  • REGION é a região em que a configuração do GitLab Enterprise Edition está localizada.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME é o nome da configuração do GitLab Enterprise.
  • BRANCH_NAME é o regex da ramificação se você quiser definir o gatilho para criar determinadas ramificações.
  • TAG_NAME é o regex da tag se você quer definir o acionador para criar determinadas tags.
  • BUILD_CONFIG é o caminho para seu arquivo de configuração do build.

API

Para criar um gatilho do GitLab Enterprise Edition com a API, use o seguinte modelo JSON.

    {
      "filename": "cloudbuild.yaml",
      "name": "curl-trigger",
      "description": "curl trigger",
      "gitlabEnterpriseEventsConfig": {
          "projectNamespace": GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE,
          "push": {
             "branch": BRANCH_NAME # "tag": TAG_NAME
          },
          "gitlabConfigResource": "projects/PROJECT_ID/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME"
      }
  }

Substitua:

  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE o namespace do seu projeto do GitLab Enterprise Edition.
  • BRANCH_NAME é o regex da ramificação se você quiser definir o gatilho para criar determinadas ramificações.
  • TAG_NAME é o regex da tag que você quer definir.
  • PROJECT_ID é o ID do projeto no Google Cloud.
  • REGION é a região em que a configuração do GitLab Enterprise Edition está localizada.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME é o nome da configuração do GitLab Enterprise.

Digite o seguinte comando curl no seu terminal:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/triggers -d @trigger.json

Substitua:

  • PROJECT_ID é o ID do projeto no Google Cloud.
  • REGION é a região em que a configuração do GitLab Enterprise Edition está localizada.

Compartilhamento de dados

Os dados enviados do GitLab Enterprise Edition do Cloud Build ajudam a identificar gatilhos por nome e ver os resultados nos builds dos repositórios do GitLab Enterprise Edition.

No momento, os dados a seguir estão compartilhados entre o Cloud Build e o GitLab Enterprise Edition:

  • Código do projeto do Cloud
  • Nome do gatilho

A seguir