Bonjour,
Je ne sais pas si je suis dans la bonne section, vu que ma problématique est un peu plus générale qu'Eclipse, mais l'IDE reste un point important du problème, donc tentons...
Voici la situation :
- IDE : Eclipse
- Langage principal : Java
- Serveur d'application : Tomcat
- Suivi de version : CVS (!)
- Bases : MySQL & PgSQL
Ce que l'on considère comme un "Environnement de développement", c'est :
- Workspace Eclipse
- JDK/JRE Java
- Tomcat (binaires, des JARs à nous, type drivers de BDD, dans une certaine version et répertoires de déploiement)
- MySQL (binaires et des bases)
- PgSQL (binaires et des bases)
- Des JARs externes
Il existe 1 "Environnement de développement" par version (== branche).
Ca fait pas mal de choses dupliquées, mais ça permet d'avoir des environnements bien cloisonnés et hétérogènes, évoluant au fil des versions sans impacter les précédentes (basculer sur une vieille version est donc aisé).
Pour info, cet environnement est contraint à s'insérer dans une arborescence bien définie (C:\UnProduit\EnvDev\UneVersion\[Mon_env_de_dev]) si l'on ne veut pas avoir un peu de conf à faire.
Actuellement (et c'est cette action qui pose problème), lors de la création d'une nouvelle version, cela se traduit par diverses sous-actions :
- On touche au dépot de version (création de branche, etc.)
- Check-out de la nouvelle version
- Duplication des binaires (JDK, Tomcat, Mysql, etc) et éventuellement apport de modifs (si on change de version de drivers BDD, de version de JDK, de JAR externes, etc.)
- Modification de la conf Tomcat, BDD pour changer les ports d'accès (en rapport avec le numéro de version, afin d'avoir plusieurs versions pouvant tourner en parallèle)
- Création de nouvelle bases relatives à la nouvelle version
- Modification de la conf du workspace d'eclipse pour prendre en compte les changements de ports de BDD, Tomcat, de chemin dans le système de fichier pour atteindre certaines ressources (classpath de lancement de Tomcat par exemple) etc.
- Nettoyage de tout ce qui est resources compilées / dossier webapps de Tomcat, etc.
- etc.
Bref, c'est du travail plus ou moins manuel (parfois scripté), mais assez laborieux, avec de grands risques d'oublis/erreurs, et surtout, on produit un zip global contenant un workspace eclipse avec un .metatdata lié au développeur l'ayant produit (avec ses préférences de projet, ses confs de plugins, etc.).
Artisanal, pas efficace, très sensible aux oublis/erreurs, bref, il faudrait industrialiser la chose (voir fonctionner autrement)
Existerait-il donc des outils pour "décrire" un projet et ainsi pouvoir facilement créer de nouvelles versions (avec toute la conf et l'environnement qui va avec) facilement ?
On m'a soufflé "Maven", mais de ce que j'en ai lu, on est plus dans la description de make ou de déploiement sur serveurs (peut-être est-ce adaptable ? Si vous avez des exemples...)
Merci !
Partager