Gestion des projets avec GitHub
Table des matières
- Organisation en local et outillage
- Travail en multi-projets
- Migration des composants de SVN vers GIT
Depuis décembre 2014, le code source des plugins génériques (ancienne branche /portal/trunk du SVN) est migré sur la plateforme GitHub : https://github.com/lutece-platform
Chaque plugin ou module dispose de son propre repository dans GitHub.
Le nom du repository est construit de la manière suivante :
lutece-[//catégorie//]-[ plugin | module | library ]-[//nom plugin//]
Il n’y a donc plus d’arborescence comme dans SVN.
Organisation en local et outillage
Il est suggéré de se créer un répertoire local :
~/java/github/lutece
ou c:\java\github\lutece
que nous désignerons par la variable LUTECE_GITHUB_HOME
.
Des scripts utilitaires sont disponibles à l’adresse suivante : https://github.com/lutece-platform/git-scripts
Téléchargez-les à l’aide du bouton Download Zip et installez-les dans le répertoire LUTECE_GITHUB_HOME
.
-
Pour une première installation des repositories :
lancer le script init_projects.sh.
Ce script créera un répertoire pour chaque repository et fera une copie locale de celui-ci (//git clone//). -
Pour une mise à jour de l’ensemble des projets :
lancer le script update_projects.sh.
Ce script fera une mise à jour du repository local de tous les projets (//git pull//).
Pour plus d’informations sur l’utilisation de ces scripts, veuillez vous référer à la page howto_git_tools.
Travail en multi-projets
Pour travailler en multi-projets, copiez le pom.xml
principal dans le répertoire LUTECE_GITHUB_HOME
et dans la définition du profil multi-project, modifiez la liste des projets.
<profile>
<id>multi-project</id>
<modules>
<module>lutece-core</module>
<module>lutece-search-library-lucene</module>
<module>lutece-cms-plugin-document</module>
...
</modules>
</profile>
Migration des composants de SVN vers GIT
- Pour migrer les composants génériques de l’ancien SVN (/portal/trunk/) :
Lancer le script import_svn_project.sh avec comme paramètres :
** le nom de la catégorie dans SVN
** le nom du composant
** le nom de la catégorie dans GitHub
Ex : import_project.sh cms plugin-document cms