Actualmente tengo unos 16 proyectos que construyo con maven que se implementan en el mismo servidor de aplicaciones que conforman algo así como un "portal". Creé un pom padre para manejar configuraciones de dependencias y complementos comunes. Actualmente, mi estructura SVN es similar a esto:proyecto maven de varios módulos con el diseño padre pom y svn
portal_root
+project1
+tags
+branches
+trunk
+project2
.
.
.
+projectn
pom.xml
Los proyectos individuales se implementan por separado. Es decir, project1 no tiene una dependencia en project2 y cada uno se puede modificar e implementar sin tener que modificar nada más.
Esto presenta un problema con SVN, ya que si otro desarrollador quisiera verificar la raíz completa del "portal" (para obtener también el pom principal), también desplegaría de forma predeterminada copias de todas las etiquetas y ramas. No es realmente ideal.
La única otra cosa que se me ocurre es usar algo como esto:
portal_root
+tags
+branches
+trunk
+project1
+src
pom.xml
+project2
.
.
.
pom.xml
Sin embargo, ahora todos los cambios del proyecto se realizará un seguimiento de la carpeta etiquetas. Esto no es un gran problema para mí, pero la ramificación ahora parece convertirse en un dolor.
También estoy trabajando en conectar Teamcity en esto también, lo que sería un poco más fácil ahora, ya que solo tendría que mirar un solo directorio (por ejemplo, etiquetas) para ver todo lo que necesita construirse. También estoy implementando artefactos en un repositorio de Nessus de la empresa.
Espero que alguien me pueda dar algunas sugerencias aquí, ya que no he podido encontrar ninguna documentación decente que describa todo el ciclo de vida de la construcción y las mejores prácticas aquí.
Me gusta la idea de poder construir e implementar todos los proyectos con un solo comando maven. También me gusta tener todas las dependencias comunes, la información del repositorio y la información del complemento en un solo lugar.
¡Esto resolvió perfectamente mi problema! ¡Gracias! – Casey
Asegúrese de agregar datos principales como una dependencia si desea usar el proyecto principal en el elemento secundario. – cevaris