Intégration de GitLab
Vous pouvez configurer un référentiel GitLab pour créer et déployer automatiquement un environnement lorsque vous poussez des modifications de code. Cette intégration synchronise votre référentiel GitLab avec votre compte d’infrastructure cloud Adobe Commerce.
Cette intégration vous permet d’effectuer les opérations suivantes :
- Création d’un environnement lors de la création d’une branche
- Redéploiement de l’environnement lors de la fusion d’une demande d’extraction
- Suppression de l’environnement lors de la suppression de la branche
Vous devez obtenir un jeton GitLab et un webhook pour continuer le processus.
Conditions préalables
- Accès des administrateurs au projet d’infrastructure cloud d’Adobe Commerce
magento-cloudde l’interface de ligne commande dans votre environnement local- Un compte GitLab
- Un jeton d’accès personnel GitLab avec un accès en écriture au référentiel GitLab, les portées sélectionnées doivent être au moins :
apietread_repository.
Préparation de votre référentiel
Clonez votre projet Adobe Commerce sur l’infrastructure cloud à partir d’un environnement existant et migrez les branches du projet vers un nouveau référentiel GitLab vide, en conservant les mêmes noms de branche. Il est essentiel de conserver une arborescence Git identique, afin de ne pas perdre d’environnements ou de branches existants dans votre projet d’infrastructure cloud Adobe Commerce.
-
À partir du terminal, connectez-vous à votre projet d’infrastructure cloud Adobe Commerce.
code language-bash magento-cloud login -
Répertoriez vos projets et copiez l’ID du projet.
code language-bash magento-cloud project:list -
Clonez le projet sur votre environnement local.
code language-bash magento-cloud project:get <project-id> -
Ajoutez votre référentiel GitLab en tant que référentiel distant (en supposant que GitLab soit utilisé dans sa version SaaS).
code language-bash git remote add origin git@gitlab.com:<user-name>/<repo-name>.gitLe nom par défaut de la connexion distante peut être
originoumagento. S’originexiste déjà, vous pouvez choisir un autre nom ou renommer ou supprimer la référence existante. Voir la documentation Git-remote. -
Vérifiez que vous avez correctement ajouté la télécommande GitLab.
code language-bash git remote -vRéponse attendue :
code language-none origin git@gitlab.com:<user-name>/<repo-name>.git (fetch) origin git@gitlab.com:<user-name>/<repo-name>.git (push) -
Placez les fichiers du projet dans votre nouveau référentiel GitLab. N’oubliez pas de conserver les mêmes noms de branche.
code language-bash git push -u origin masterSi vous commencez avec un nouveau référentiel GitLab, vous devrez peut-être utiliser l’option
-f, car le référentiel distant ne correspond pas à votre copie locale. -
Vérifiez que votre référentiel GitLab contient tous vos fichiers de projet.
Activation de l’intégration GitLab
Utilisez la commande magento-cloud integration pour activer l’intégration GitLab et obtenir l’URL de payload du webhook GitLab pour envoyer des mises à jour de GitLab à votre projet d’infrastructure cloud 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-urlhttps://gitlab.com/ si GitLab est utilisé dans sa version SaaS)--server-project--build-merge-requeststrue par défaut)--merge-requests-clone-parent-datatrue par défaut)--fetch-branchestrue par défaut)--prune-branchestrue par défaut)magento-cloud integration remplace le code all de votre projet d’infrastructure cloud Adobe Commerce par le code de votre référentiel GitLab. Cela inclut toutes les branches, y compris la branche production. Cette action se produit instantanément et ne peut pas être annulée. En règle générale, il est important de cloner toutes les branches de votre projet d’infrastructure cloud Adobe Commerce on cloud et de les pousser vers votre référentiel GitLab avant d’ajouter l’intégration GitLab.Pour activer l’intégration GitLab :
-
Depuis le terminal, ajoutez l’intégration GitLab à votre projet d’infrastructure cloud Adobe Commerce :
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 -
Lorsque vous y êtes invité, saisissez
ypour ajouter l’intégration.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 -
Copiez l’URL Hook affichée par la sortie renvoyée.
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 | +----------------------------------+---------------------------------------------------------------------------------------+
Ajout du webhook dans GitLab
Pour communiquer des événements (tels qu’une notification push ou des requêtes de fusion) avec votre serveur Git Cloud, vous devez créer un webhook pour votre référentiel GitLab
-
Dans votre référentiel GitLab, cliquez sur l’onglet Paramètres.
-
Dans la barre de navigation de gauche, cliquez sur Webhooks.
-
Dans le formulaire Webhooks, modifiez les champs suivants :
- URL : saisissez le
Hook URLrenvoyé lorsque vous avez activé l’intégration GitLab. - Jeton secret : si nécessaire, saisissez un secret de vérification.
- Déclencheur : cochez
Merge request eventset/ouPush eventsselon vos besoins. - Activer la vérification SSL : vous devez sélectionner cette option.
- URL : saisissez le
-
Cliquez sur Ajouter un webhook.
Tester l’intégration
Après avoir configuré l’intégration GitLab, vous pouvez vérifier qu’elle est opérationnelle à l’aide de l’interface de ligne de commande magento-cloud :
magento-cloud integration:validate
Vous pouvez également la tester en envoyant une modification simple à votre référentiel GitLab.
-
Créez un fichier test.
code language-bash touch test.md -
Validez et envoyez les modifications à votre référentiel GitLab.
code language-bash git add . && git commit -m "Testing GitLab integration" && git push -
Connectez-vous au Cloud Console et vérifiez que le message de validation s’affiche, ainsi que le déploiement de votre projet.
Création d’une branche Cloud
Utilisez la commande magento-cloud CLI environment:push pour créer et activer un environnement. Voir Création d’une branche Cloud.
Suppression de l’intégration
Utilisez la commande magento-cloud CLI integration:delete pour supprimer l’intégration. Voir Suppression de l’intégration.