J'ai actuellement environ 16 projets que je construis avec maven qui sont déployés sur le même serveur d'applications qui composent quelque chose comme un "portail". J'ai construit un parent pom pour gérer les dépendances communes et les configurations de plugin. Actuellement, ma structure SVN ressemble à ceci:Projet multi-module maven avec parent pom et svn layout
portal_root
+project1
+tags
+branches
+trunk
+project2
.
.
.
+projectn
pom.xml
Les différents projets sont déployés séparément. Autrement dit, project1 n'a pas de dépendance sur project2 et chacun peut être modifié et déployé sans avoir à modifier quoi que ce soit d'autre. Ceci pose un problème avec SVN comme si un autre développeur voulait vérifier toute la racine du "portail" (pour obtenir aussi le pom parent) ils auraient aussi par défaut des copies de tous les tags et branches! Pas vraiment idéal.
La seule autre chose que je peux penser est d'utiliser quelque chose comme ceci:
portal_root
+tags
+branches
+trunk
+project1
+src
pom.xml
+project2
.
.
.
pom.xml
Cependant, maintenant toutes les modifications du projet seront suivis dans le dossier tags. Ce n'est pas un gros problème pour moi, mais l'embranchement semble maintenant devenir une douleur.
Je suis également en train d'y intégrer Teamcity, ce qui serait un peu plus simple maintenant, car je n'aurais qu'à regarder un seul répertoire (par exemple des balises) pour attraper tout ce qui doit être construit. Je déploie également des artefacts dans un référentiel Nessus d'entreprise. J'espère que quelqu'un pourrait me donner quelques suggestions ici car j'ai été incapable de trouver une documentation décente qui parle de l'ensemble du cycle de vie de la construction et des meilleures pratiques ici.
J'aime l'idée de pouvoir construire et déployer tous les projets avec une seule commande maven. J'aime aussi avoir toutes les dépendances communes, les informations de référentiel et les informations de plugin en un seul endroit.
Cela a parfaitement résolu mon problème! Merci! – Casey
Veillez à ajouter des données parent en tant que dépendance si vous souhaitez utiliser le projet parent dans l'enfant. – cevaris