Intégration de l’intervalle de bits
Vous pouvez configurer votre référentiel Bitbucket pour créer et déployer automatiquement un environnement lorsque vous poussez des modifications de code. Cette intégration synchronise votre référentiel Bitbucket avec votre compte d’infrastructure cloud Adobe Commerce.
Conditions préalables
- Accès des administrateurs au projet d’infrastructure cloud d’Adobe Commerce
magento-cloud
de l’interface de lignecommande dans votre environnement local- Un compte Bitbucket
- Accès de l’administrateur au référentiel Bitbucket
- Clé d’accès SSH pour le référentiel Bitbucket
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 Bitbucket 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 Bitbucket en tant que référentiel distant.
code language-bash git remote add origin git@bitbucket.org:<user-name>/<repo-name>.git
Le nom par défaut de la connexion distante peut être
origin
oumagento
. S’origin
existe 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 Bitbucket.
code language-bash git remote -v
Réponse attendue :
code language-none origin git@bitbucket.org:<user-name>/<repo-name>.git (fetch) origin git@bitbucket.org:<user-name>/<repo-name>.git (push)
-
Envoyez les fichiers du projet vers votre nouveau référentiel Bitbucket. N’oubliez pas de conserver les mêmes noms de branche.
code language-bash git push -u origin master
Si vous commencez avec un nouveau référentiel Bitbucket, 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 Bitbucket contient tous vos fichiers de projet.
Créer un client OAuth
L’intégration de Bitbucket nécessite un client OAuth. Vous avez besoin du key
et du secret
OAuth de ce client pour terminer la section suivante.
Pour créer un client OAuth dans Bitbucket :
-
Connectez-vous à votre compte Bitbucket.
-
Cliquez sur Paramètres > Gestion des accès > OAuth.
-
Cliquez sur Ajouter un client et configurez-le comme suit :
note warning WARNING Aucune URL de rappel valide n’est requise, mais vous devez saisir une valeur dans ce champ pour terminer l’intégration. -
Cliquez sur Enregistrer.
-
Cliquez sur le client Nom pour afficher vos
key
etsecret
OAuth. -
Copiez votre
key
OAuth etsecret
pour configurer l’intégration.
Configuration de l’intégration
-
Depuis le terminal, accédez à votre projet d’infrastructure cloud Adobe Commerce.
-
Créez un fichier temporaire appelé
bitbucket.json
et ajoutez les éléments suivants, en remplaçant les variables entre crochets par vos valeurs :code language-json { "type": "bitbucket", "repository": "<bitbucket-user-name/bitbucket-repo-name>", "app_credentials": { "key": "<oauth-consumer-key>", "secret": "<oauth-consumer-secret>" }, "prune_branches": true, "fetch_branches": true, "build_pull_requests": true, "resync_pull_requests": true }
note tip TIP Veillez à utiliser le nom de votre référentiel Bitbucket et non l’URL. L’intégration échoue si vous utilisez une URL. -
Ajoutez l’intégration à votre projet à l’aide de l’outil d’interface de ligne de commande
magento-cloud
.note warning WARNING La commande suivante remplace le code all de votre projet d’infrastructure cloud Adobe Commerce par le code de votre référentiel Bitbucket. 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 Bitbucket avant d’ajouter l’intégration Bitbucket.code language-bash magento-cloud project:curl -p '<project-ID>' /integrations -i -X POST -d "$(< bitbucket.json)"
Cela renvoie une réponse HTTP longue avec des en-têtes. Une intégration réussie renvoie un code d’état 200 ou 201. Un statut supérieur ou égal à 400 indique qu’une erreur s’est produite.
-
Supprimez le fichier
bitbucket.json
temporaire. -
Vérifiez l’intégration du projet.
code language-bash magento-cloud integrations -p <project-ID>
code language-none +----------+-----------+--------------------------------------------------------------------------------+ | ID | Type | Summary | +----------+-----------+--------------------------------------------------------------------------------+ | <int-id> | bitbucket | Repository: bitbucket_Account/magento-int | | | | Hook URL: | | | | https://magento-url.cloud/api/projects/<project-id>/integrations/<int-id>/hook | +----------+-----------+--------------------------------------------------------------------------------+
Notez l’URL Hook pour configurer un webhook dans BitBucket.
Ajouter un webhook dans BitBucket
Pour communiquer des événements (une notification push, par exemple) avec votre serveur Git Cloud, est-il nécessaire de disposer d’un webhook pour votre référentiel BitBucket ? La méthode de configuration d’une intégration Bitbucket présentée sur cette page, lorsqu’elle est correctement suivie, crée automatiquement un webhook. Il est important de vérifier le webhook pour éviter de créer plusieurs intégrations.
-
Connectez-vous à votre compte Bitbucket.
-
Cliquez sur Référentiels et sélectionnez votre projet.
-
Cliquez sur Paramètres du référentiel > Workflow > Webhooks.
-
Vérifiez le webhook avant de continuer.
Si le hook est actif, ignorez les étapes restantes et Tester l’intégration. Le hook doit avoir un nom similaire à »Adobe Commerce on cloud infrastructure <project_id> » et un format d’URL de hook similaire à :
https://<zone>.magento.cloud/api/projects/<project_id>/integrations/<id>/hook
-
Cliquez sur Ajouter un webhook.
-
Dans la vue Ajouter un nouveau webhook, modifiez les champs suivants :
- Titre : Intégration d’Adobe Commerce
- URL : utilisez l’URL Hook de votre liste d’intégration
magento-cloud
- Triggers : la valeur par défaut est une de base Repository push
-
Cliquez sur Enregistrer.
Tester l’intégration
Après avoir configuré l’intégration Bitbucket, vous pouvez vérifier que l’intégration 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 Bitbucket.
-
Créez un fichier test.
code language-bash touch test.md
-
Validez et envoyez la modification à votre référentiel Bitbucket.
code language-bash git add . && git commit -m "Testing Bitbucket 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
L’intégration Bitbucket ne peut pas activer de nouveaux environnements dans votre projet d’infrastructure cloud Adobe Commerce on cloud. Si vous créez un environnement avec Bitbucket, vous devez l’activer manuellement. Pour éviter cette étape supplémentaire, il est recommandé de créer des environnements à l’aide de l’outil d’interface de ligne de commande magento-cloud
ou de l’Cloud Console .
Pour activer une branche créée avec Bitbucket :
-
Utilisez l’interface de ligne de commande
magento-cloud
pour pousser la branche.code language-bash magento-cloud environment:push from-bitbucket
code language-none Pushing from-bitbucket to the new environment from-bitbucket Activate from-bitbucket after pushing? [Y/n] y Parent environment [master]: integration --- (Validation and activation messages)
-
Vérifiez que l’environnement est actif.
code language-bash magento-cloud environment:list
code language-none Your environments are: +---------------------+----------------+--------+ | ID | Name | Status | +---------------------+----------------+--------+ | master | Master | Active | | integration | integration | Active | | from-bitbucket * | from-bitbucket | Active | +---------------------+----------------+--------+ * - Indicates the current environment
Après avoir créé un environnement, vous pouvez pousser la branche correspondante vers votre référentiel Bitbucket distant à l’aide de commandes Git standard. Les modifications ultérieures apportées à votre branche dans Bitbucket créent et déploient automatiquement l’environnement.
Suppression de l’intégration
Vous pouvez supprimer en toute sécurité l’intégration Bitbucket de votre projet sans affecter votre code.
Pour supprimer l’intégration de Bitbucket :
-
À partir du terminal, connectez-vous à votre projet d’infrastructure cloud Adobe Commerce.
-
Répertorier vos intégrations. Vous avez besoin de l’identifiant d’intégration Bitbucket pour terminer l’étape suivante.
code language-bash magento-cloud integration:list
-
Supprimez l’intégration.
code language-bash magento-cloud integration:delete <int-ID>
Vous pouvez également supprimer l’intégration Bitbucket en vous connectant à votre compte Bitbucket et en révoquant l’octroi OAuth sur la page Paramètres du compte.
Intégration du serveur Bitbucket
Pour utiliser l’intégration du serveur Bitbucket, vous avez besoin des éléments suivants :
- Jeton d’accès Bitbucket : générez un jeton qui accorde l’accès à Project
read
et à Repositoryadmin
- URL du serveur Bitbucket: ajoutez l’URL de base de votre instance Bitbucket
Bien que vous puissiez utiliser l’interface de ligne de commande Cloud pour suivre les étapes d’intégration du serveur Bitbucket, la commande complète ressemble à ce qui suit :
magento-cloud integration:add --type=bitbucket_server --base-url=<bitbucket-url> --username=<username> --token=<bitbucket-access-token> --project=<project-ID>
Utilisez la commande d’aide pour connaître les autres exigences et options d’utilisation : magento-cloud integration:add --help