Attualmente ho circa 16 progetti che creo con Maven che vengono distribuiti nello stesso server applicazioni che costituisce qualcosa come un "portale". Ho creato un pom genitore per gestire dipendenze comuni e configurazioni di plugin. Attualmente, la mia struttura SVN è simile a questa:progetto multi-modulo maven con layout padre pom e svn
portal_root
+project1
+tags
+branches
+trunk
+project2
.
.
.
+projectn
pom.xml
I singoli progetti vengono distribuiti separatamente. Cioè, project1 non ha una dipendenza da project2 e ognuno può essere modificato e distribuito senza dover modificare qualcos'altro.
Questo presenta un problema con SVN come se un altro sviluppatore volesse controllare l'intera radice del "portale" (per ottenere anche il padre genitore) anche per default tirano giù le copie di tutti i tag e rami! Non proprio ideale.
L'unica altra cosa che posso pensare è quello di usare qualcosa di simile:
portal_root
+tags
+branches
+trunk
+project1
+src
pom.xml
+project2
.
.
.
pom.xml
Tuttavia, ora tutte le modifiche del progetto saranno monitorati nella cartella tags. Questo non è un problema enorme per me, ma la ramificazione ora sembra diventare un dolore.
Attualmente sto lavorando anche ad agganciare Teamcity in questo, il che sarebbe un po 'più facile ora, dato che dovrei solo guardare una singola directory (ad esempio i tag) per catturare tutto ciò che deve essere costruito. Sto anche distribuendo artefatti in un repository Nessus aziendale.
Spero che qualcuno possa darmi qualche suggerimento qui perché non sono riuscito a trovare alcuna documentazione decente che parla dell'intero ciclo di vita delle build e delle migliori pratiche qui.
Mi piace l'idea di poter creare e distribuire tutti i progetti con un singolo comando maven. Mi piace anche avere tutte le comuni dipendenze, informazioni sul repository e informazioni sui plugin in un unico posto.
Questo ha risolto perfettamente il mio problema! Grazie! – Casey
Assicurarsi di aggiungere i dati padre come dipendenza se si desidera utilizzare il progetto padre nel figlio. – cevaris