Pour simplifier les mises à jour de ses modules custom Drupal, il est préférable de les versioner. Voici comment utiliser Bitbucket pour gérer ses modules custom.
Dans le répertoire du module custom, on ajoute un fichier composer.json :
{
"name": "directory/module_name",
"version": "1.0",
"type": "drupal-custom-module",
"description": "Custom Drupal module",
"keywords": ["Drupal"],
"authors": [{
"name": "Julien Krier",
"homepage": "https://www.julienkrier.fr",
"role": "Maintainer"
}],
"homepage": "https://bitbucket.org/directory/module_name",
"license": "proprietary",
"minimum-stability": "dev",
"require": {
"directory/other_module_name": "dev-master",
"drupal/email_registration": "^1.0"
}
}
Ici je rajoute des dépendances à d'autres modules custom ou des modules contrib de Drupal.
Ensuite on crée le module et on le push sur Bitbucket.
Maintenant on modifie le fichier composer.json à la racine de Drupal et on ajoute :
"repositories": [{
"type": "composer",
"url": "https://packages.drupal.org/8"
},
{
"type": "vcs",
"url": "git@bitbucket.org:directory/module_name.git"
}
],
Le type "vcs" signifie "version control system", il inclut les systèmes de gestion de versions comme git, svn, fossil ou hg.
On peut ajouter l'url en https mais le mieux c'est d'utiliser le ssh notamment pour les scripts de déploiement ou d'intégration continu : ça permettra de dérouler les scripts sans avoir à saisir son mot de passe.
On ajoute maintenant sa clé public au repository de notre module. Pour ça on va dans "Repository Settings > Access Keys" :
Et maintenant on est prêt à récupérer le projet et ses dépendances :
composer require directory/module_name.git
Ou via le répertoire du projet, lancer :
composer install