Integración de GitLab
- Temas:
- Nube
Creado para:
- Administrador
- Desarrollador
Puede configurar un repositorio de GitLab para que cree e implemente automáticamente un entorno cuando inserte cambios en el código. Esta integración sincroniza su repositorio de GitLab con su cuenta de Adobe Commerce en la nube.
Esta integración le permite:
- Crear un entorno al crear una rama
- Volver a implementar el entorno al combinar una solicitud de extracción
- Elimine el entorno cuando elimine la rama
Debe obtener un token de GitLab y un webhook para continuar con el proceso.
Requisitos previos
- Acceso de administrador al proyecto de Adobe Commerce en la nube
magento-cloud
herramienta CLI en su entorno local- Una cuenta de GitLab
- Un token de acceso personal de GitLab con acceso de escritura al repositorio de GitLab. Los ámbitos seleccionados deben ser al menos:
api
yread_repository
.
Preparación del repositorio
Clone su proyecto de Adobe Commerce en la nube desde un entorno existente y migre las ramas del proyecto a un nuevo repositorio de GitLab vacío, preservando los mismos nombres de rama. Es esencial conservar un árbol Git idéntico, de modo que no se pierda ningún entorno o rama existente en su proyecto de Adobe Commerce en la nube.
-
Desde el terminal, inicie sesión en su proyecto de infraestructura de Adobe Commerce en la nube.
magento-cloud login
-
Enumere sus proyectos y copie el ID del proyecto.
magento-cloud project:list
-
Clone el proyecto en el entorno local.
magento-cloud project:get <project-id>
-
Añada su repositorio de GitLab como remoto (suponiendo que GitLab se utilice en su versión SaaS).
git remote add origin git@gitlab.com:<user-name>/<repo-name>.git
El nombre predeterminado de la conexión remota puede ser
origin
omagento
. Si existeorigin
, puede elegir un nombre diferente o puede cambiar el nombre de la referencia existente o eliminarla. Consulte documentación remota de git. -
Compruebe que ha agregado correctamente el control remoto de GitLab.
git remote -v
Respuesta esperada:
origin git@gitlab.com:<user-name>/<repo-name>.git (fetch) origin git@gitlab.com:<user-name>/<repo-name>.git (push)
-
Inserte los archivos del proyecto en el nuevo repositorio de GitLab. Recuerde mantener todos los nombres de rama iguales.
git push -u origin master
Si está empezando con un nuevo repositorio de GitLab, es posible que tenga que utilizar la opción
-f
, ya que el repositorio remoto no coincide con la copia local. -
Compruebe que su repositorio de GitLab contenga todos los archivos de proyecto.
Habilitar la integración con GitLab
Utilice el comando magento-cloud integration
para habilitar la integración de GitLab y obtener la URL de carga útil del gancho web de GitLab para enviar actualizaciones de GitLab a su proyecto de infraestructura en la nube de Adobe Commerce.
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-url
https://gitlab.com/
si GitLab se usa en su versión SaaS)--server-project
--build-merge-requests
true
de forma predeterminada)--merge-requests-clone-parent-data
true
de forma predeterminada)--fetch-branches
true
de forma predeterminada)--prune-branches
true
de forma predeterminada)magento-cloud integration
sobrescribe el código all de su proyecto de infraestructura en la nube de Adobe Commerce con el código del repositorio de GitLab. Esto incluye todas las ramas, incluida la rama production
. Esta acción se produce de forma inmediata y no se puede deshacer. Como práctica recomendada, es importante clonar todas las ramas del proyecto de infraestructura de Adobe Commerce en la nube e insertarlas en el repositorio de GitLab antes de añadir la integración de GitLab.Para habilitar la integración de GitLab:
-
Desde el terminal, añada la integración de GitLab a su proyecto de infraestructura de Adobe Commerce en la nube:
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
-
Cuando se le pida, escriba
y
para agregar la integración.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 la URL de enlace mostrada por el resultado devuelto.
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 | +----------------------------------+---------------------------------------------------------------------------------------+
Añadir el webhook en GitLab
Para comunicar eventos, como solicitudes push o de combinación, con su servidor Cloud Git, debe crear un webhook para su repositorio GitLab
-
En su repositorio de GitLab, haga clic en la ficha Configuración.
-
En la barra de navegación izquierda, haga clic en Webhooks.
-
En el formulario Webhooks, edite los campos siguientes:
- URL: escriba el
Hook URL
que devolvió al habilitar la integración de GitLab. - Token secreto: escriba un secreto de verificación si es necesario.
- Déclencheur: Compruebe
Merge request events
y/oPush events
según sus necesidades. - Habilitar verificación SSL: debe seleccionar esta opción.
- URL: escriba el
-
Haga clic en Agregar gancho web.
Prueba de la integración
Después de configurar la integración de GitLab, puede verificar que la integración esté operativa mediante la CLI magento-cloud
:
magento-cloud integration:validate
O puede probarlo insertando un cambio simple en su repositorio de GitLab.
-
Cree un archivo de prueba.
touch test.md
-
Confirme e inserte el cambio en el repositorio de GitLab.
git add . && git commit -m "Testing GitLab integration" && git push
-
Inicie sesión en Cloud Console y compruebe que se muestra el mensaje de confirmación y que se implementa el proyecto.
Crear una rama de nube
Utilice el comando magento-cloud
CLI environment:push
para crear y activar un entorno nuevo. Consulte Crear una rama de nube.
Eliminación de la integración
Utilice el comando magento-cloud
CLI integration:delete
para eliminar la integración. Consulte Quitar la integración.