Clairement, en entreprise, il faut vraiment se caler un proxy local. Mais vu que Nexus s'installe en 2 minutes, c'est parfaitement gérable.
Concernant les avantages, je dirai :
- mise au carré de tous les processus de build, livraison…
- capacité à centraliser les numéros de versions via des pom parents pour que tout soit homogène
- pas à galérer à récupérer des libs sur Internet / pas de répertoire lib commité dans les sources - sur des gros projets avec plein de libs, ça fait vite des énormes repositories - multiplié par plein de projets, c'est vite ingérable au niveau boîte. Le proxy Nexus sécurise les builds et conserve l'ensemble des artifacts utilisés de manière centralisée.
- le maven-release-plugin qui permet de poser les tags, construire les artifacts, monter les versions automatiquement etc… Une release propre se fait en deux commandes Maven, manipulations SCM comprises (tags, branches, mise à jour des versions dans les fichiers et commits des fichiers au bon moment pour que tout soit cohérent).
- pas mal de plugins vraiment utiles notamment pour la gestion des annotation processors (pour JPA, QueryDSL…), la construction de packages (maven-release-plugin, maven-assembly-plugin)
- une intégration Eclipse qui, maintenant, tient plutôt bien la route et aide pas mal à régler les soucis de dépendance (ah l'onglet Dependency hierarchy du pom.xml…)
On a un peu galéré au début mais cela fait quelques années que tous nos projets sortent comme cela et je ne regrette clairement pas l'investissement initial. Pour récupérer un projet, on se limite à :
- déclarer le repository SVN/Git dans Eclipse ;
- faire un Checkout as Maven projects ;
- Fin : ça builde, tout est là, je peux faire des releases avec les mêmes commandes que sur tous mes autres projets…
Par contre, je suis d'accord qu'il y a quelques années, quand on bidouillait et qu'on n'avait pas industrialisé le truc, c'était plutôt pénible. Le passage à Maven 3 a bien aidé aussi.
En conclusion, je dirai que ce n'est pas parfait, mais ça fait quand même bien le boulot une fois qu'on sait s'en servir et qu'on a mis en place les outils qui vont bien.
[^] # Re: À suivre...
Posté par Guillaume Smet (site web personnel) . En réponse à la dépêche Enfin, un client EBICS java libre. Évalué à 3.
C'est comme tout, ça demande une prise en main.
Clairement, en entreprise, il faut vraiment se caler un proxy local. Mais vu que Nexus s'installe en 2 minutes, c'est parfaitement gérable.
Concernant les avantages, je dirai :
- mise au carré de tous les processus de build, livraison…
- capacité à centraliser les numéros de versions via des pom parents pour que tout soit homogène
- pas à galérer à récupérer des libs sur Internet / pas de répertoire lib commité dans les sources - sur des gros projets avec plein de libs, ça fait vite des énormes repositories - multiplié par plein de projets, c'est vite ingérable au niveau boîte. Le proxy Nexus sécurise les builds et conserve l'ensemble des artifacts utilisés de manière centralisée.
- le maven-release-plugin qui permet de poser les tags, construire les artifacts, monter les versions automatiquement etc… Une release propre se fait en deux commandes Maven, manipulations SCM comprises (tags, branches, mise à jour des versions dans les fichiers et commits des fichiers au bon moment pour que tout soit cohérent).
- pas mal de plugins vraiment utiles notamment pour la gestion des annotation processors (pour JPA, QueryDSL…), la construction de packages (maven-release-plugin, maven-assembly-plugin)
- une intégration Eclipse qui, maintenant, tient plutôt bien la route et aide pas mal à régler les soucis de dépendance (ah l'onglet Dependency hierarchy du pom.xml…)
On a un peu galéré au début mais cela fait quelques années que tous nos projets sortent comme cela et je ne regrette clairement pas l'investissement initial. Pour récupérer un projet, on se limite à :
- déclarer le repository SVN/Git dans Eclipse ;
- faire un Checkout as Maven projects ;
- Fin : ça builde, tout est là, je peux faire des releases avec les mêmes commandes que sur tous mes autres projets…
Par contre, je suis d'accord qu'il y a quelques années, quand on bidouillait et qu'on n'avait pas industrialisé le truc, c'était plutôt pénible. Le passage à Maven 3 a bien aidé aussi.
En conclusion, je dirai que ce n'est pas parfait, mais ça fait quand même bien le boulot une fois qu'on sait s'en servir et qu'on a mis en place les outils qui vont bien.