Ca fait donc un moment que j’utilise Git dans mes développements quotidiens et jusqu’à présent j’utilisais le fichier .gitignore pour sortir l’ensemble des fichiers de magento de mon repo.
Ensuite il me suffisait d’ajouter les fichiers de mon modules en utilisant le paramètre de forçage ce qui me donnait des trucs du style :
git add -f app/code/community/MonNamespace/MonModule/
Ca fonctionne .. c’est pas optimal et il faut pas oublier d’inclure à la main l’ensemble des fichiers…
Aujourd’hui j’ai décidé d’essayer un outil qui à priori est fait pour faire ce type de développement j’ai nommé modman
En résumé c’est un gros bash qui va s’occuper pour nous :
- de gérer les interactions avec votre repository git en le clonant dans son répertoire .modman
- de faire les liens symboliques du repository placé dans .modman et notre instance de Magento
Etape 1 – Création d’un repository git qui va contenir le code de notre module
Donc la première chose à faire est de créer votre nouveau bare repository git avec par exemple le fichier de configuration modman à l’intérieur.
Sur le serveur contenant git
mkdir <monrepot>.git cd !$ git --bare init
Puis en local chez vous vous préparer à faire votre premier commit
cd /tmp mkdir temporaire cd temporaire git init git remote add origin <monserveur>/<monrepot>.git touch modman git add modman git commit -f "Initial commit" git push origin master
et voilà .. fin de la première étape .. votre repo git qui va contenir le module est prêt
Etape 2 – Initialisation de modman et clone
Bon maintenant il vous faut une version toute fraichement installé de magento pour commencer .. je vais pas vous expliquer comment faire .. c’est assez bien décrit ici ou ici
Vous êtes donc désormais dans le DocumentRoot de votre magento et on va commencer par :
- Initialiser modman
modman init
- Cloner notre dépôt git
modman clone '<monserveur>/<monrepot>.git'
Arrivé ici vous devriez avoir votre repo cloné dans .modman/
Etape 3 – Le fichier de configuration de modman
Le fichier de configuration de modman est relativement simple en gros on a par ligne
<cible> <source>
Du coup on va commencer avec une configuration basique pour un module à savoir
app/etc/modules/Namespace_Module.xml app/etc/modules/Namespace_Module.xml app/code/community/Namespace/Module/ app/code/community/Namespace/Module/
On peut lancer ensuite la commande modman, à la racine de votre documentroot, qui va créer les liens symboliques
modman update <monrepot>
Vous devriez voir apparaître dans les répertoires concernés les liens symboliques mappés sur le repot (dans .modman/xxxx)
Voilà .. pour finir il ne faut pas oublier d’activer la gestion de la prise en compte des liens symboliques dans magento. Ca se passe dans le backend et plus particulièrement dans le menu Système>Configuration>Développeur>Paramètres de gabarit