Integração com GitLab
Você pode configurar um repositório GitLab para criar e implantar automaticamente um ambiente quando enviar alterações de código. Essa integração sincroniza seu repositório GitLab com sua conta do Adobe Commerce na infraestrutura em nuvem.
Essa integração permite:
- Criar um ambiente ao criar uma ramificação
- Reimplante o ambiente ao mesclar uma solicitação de pull
- Excluir o ambiente ao excluir a ramificação
Você deve obter um token do GitLab e um webhook para continuar o processo.
Pré-requisitos
- Acesso de administrador ao projeto de infraestrutura em nuvem do Adobe Commerce
- Ferramenta
magento-cloudCLI em seu ambiente local - Uma conta do GitLab
- Um token de acesso pessoal do GitLab com acesso de gravação ao repositório do GitLab, os escopos selecionados devem ser pelo menos:
apieread_repository.
Preparar seu repositório
Clonar seu projeto Adobe Commerce na infraestrutura em nuvem de um ambiente existente e migrar as ramificações do projeto para um novo repositório GitLab vazio, preservando os mesmos nomes de ramificação. É crítico manter uma árvore Git idêntica, para que você não perca ambientes ou ramificações existentes no seu projeto do Adobe Commerce na infraestrutura em nuvem.
-
No terminal, faça logon no projeto Adobe Commerce na infraestrutura da nuvem.
code language-bash magento-cloud login -
Liste os projetos e copie a ID do projeto.
code language-bash magento-cloud project:list -
Clona o projeto em seu ambiente local.
code language-bash magento-cloud project:get <project-id> -
Adicione seu repositório GitLab como remoto (supondo que o GitLab seja usado em sua versão SaaS).
code language-bash git remote add origin git@gitlab.com:<user-name>/<repo-name>.gitO nome padrão da conexão remota pode ser
originoumagento. Seoriginexistir, você pode escolher um nome diferente ou pode renomear ou excluir a referência existente. Consulte a documentação git-remote. -
Verifique se você adicionou o remoto do GitLab corretamente.
code language-bash git remote -vResposta esperada:
code language-none origin git@gitlab.com:<user-name>/<repo-name>.git (fetch) origin git@gitlab.com:<user-name>/<repo-name>.git (push) -
Envie os arquivos do projeto para o novo repositório do GitLab. Lembre-se de manter todos os nomes de ramificação iguais.
code language-bash git push -u origin masterSe você estiver começando com um novo repositório GitLab, talvez precise usar a opção
-f, pois o repositório remoto não corresponde à sua cópia local. -
Verifique se o repositório do GitLab contém todos os arquivos de projeto.
Habilitar a integração do GitLab
Use o comando magento-cloud integration para habilitar a integração do GitLab e obter o URL de carga para o webhook do GitLab para enviar atualizações do GitLab para o projeto de infraestrutura do Adobe Commerce na nuvem.
magento-cloud integration:add --type=gitlab --project=<project-ID> --token=<your-GitLab-token> [--base-url=<GitLab-url> --server-project=<GitLab-project> --build-merge-requests={true|false} --merge-requests-clone-parent-data={true|false} --fetch-branches={true|false} --prune-branches={true|false}]
<project-ID><your-GitLab-token>--base-urlhttps://gitlab.com/ se o GitLab for usado em sua versão SaaS)--server-project--build-merge-requeststrue por padrão)--merge-requests-clone-parent-datatrue por padrão)--fetch-branchestrue por padrão)--prune-branchestrue por padrão)magento-cloud integration substitui o código all no projeto de infraestrutura do Adobe Commerce na nuvem pelo código do repositório do GitLab. Isso inclui todas as ramificações, incluindo a ramificação production. Essa ação acontece instantaneamente e não pode ser desfeita. Como prática recomendada, é importante clonar todas as ramificações do projeto Adobe Commerce na infraestrutura em nuvem e enviá-las para o repositório do GitLab antes de adicionar a integração do GitLab.Para habilitar a integração do GitLab:
-
No terminal, adicione a integração do GitLab ao projeto de infraestrutura Adobe Commerce na nuvem:
code language-bash magento-cloud integration:add --type gitlab --project=3txxjf32gtryos --token=qVUfeEn4ouze7A7JH --base-url=https://gitlab.com/ --server-project=my-agency/project-name --build-merge-requests=false --merge-requests-clone-parent-data=false --fetch-branches=true --prune-branches=true -
Quando solicitado, insira
ypara adicionar a integração.code language-none Warning: adding a 'gitlab' integration will automatically synchronize code from the external Git repository. This means it can overwrite all the code in your project. Are you sure you want to continue? [y/N] y -
Copie a URL do gancho exibida pela saída de retorno.
code language-none Hook URL: https://eu-3.magento.cloud/api/projects/3txxjf32gtryos/integrations/eolmpfizzg9lu/hook Created integration eolmpfizzg9lu (type: gitlab) +----------------------------------+---------------------------------------------------------------------------------------+ | Property | Value | +----------------------------------+---------------------------------------------------------------------------------------+ | id | <integration-id> | | type | gitlab | | token | ****** | | base_url | https://gitlab.com/ | | project | my-agency/project-name | | fetch_branches | true | | prune_branches | true | | build_merge_requests | false | | merge_requests_clone_parent_data | false | | hook_url | https://eu-3.magento.cloud/api/projects/<project-id>/integrations/<integration-id>/hook | +----------------------------------+---------------------------------------------------------------------------------------+
Adicionar o webhook no GitLab
Para comunicar eventos, como solicitações de push ou mesclagem, ao servidor Git da Nuvem, você deve criar um webhook para o repositório GitLab
-
No repositório do GitLab, clique na guia Configurações.
-
Na barra de navegação esquerda, clique em Webhooks.
-
No formulário Webhooks, edite os seguintes campos:
- URL: insira o
Hook URLretornado quando você habilitou a integração com o GitLab. - Token de Segredo: insira um segredo de verificação, se necessário.
- Acionador: verifique
Merge request eventse/ouPush eventsconforme suas necessidades. - Habilitar verificação SSL: você deve selecionar esta opção.
- URL: insira o
-
Clique em Adicionar webhook.
Testar a integração
Depois de configurar a integração do GitLab, você pode verificar se a integração está operacional usando a CLI do magento-cloud:
magento-cloud integration:validate
Ou você pode testá-lo enviando uma simples alteração ao seu repositório GitLab.
-
Criar um arquivo de teste.
code language-bash touch test.md -
Confirme e envie a alteração para seu repositório GitLab.
code language-bash git add . && git commit -m "Testing GitLab integration" && git push -
Faça logon no Cloud Console e verifique se a mensagem de confirmação é exibida e se o projeto está sendo implantado.
Criar uma ramificação de nuvem
Use o comando environment:push da CLI do magento-cloud para criar e ativar um novo ambiente. Consulte Criar uma ramificação de nuvem.
Remover a integração
Use o comando integration:delete da CLI do magento-cloud para remover a integração. Consulte Remover a integração.