2015-09-06 9 views
8

Sto lavorando a un progetto abbastanza grande (attorno a 550 moduli Maven). Ora, mi chiedevo come eseguire il sonar su un progetto così grande a livello di CI (usiamo Jenkins per questo)Uso del sonar su grandi progetti

Se eseguiamo mvn sonar:sonar fuori dalla cartella principale del padre, viene eseguito per ~ 1 ora e quindi fallisce su OutOfMemory anche se si aumenta in modo significativo (~ 16GB)

Così, esaminiamo altre strategie di gestione del sonar. Attualmente le idee più interessanti sono:

  1. Run sonar per ogni modulo durante il ciclo di vita.

  2. mantenere la lista dei moduli (sotto) per i quali il sonar deve essere eseguito in parallelo durante la fase perno moncone.

Quindi, vorrei chiedere qual è il modo migliore per eseguire il sonar per un progetto così grande? Qualcuno potrebbe fornire qualche configurazione generica per implementare la prima o la seconda idea o descrivere qualsiasi altro modo/best practice?

risposta

2

che certo sono molti moduli. non sono sicuro se sia la migliore pratica o se hai già provato questo, ma,

  1. puoi configurare l'esecuzione del plugin utilizzando i profili.
  2. anche ogni profilo includerà insieme molto correlato di moduli per tale accumulo

ora selezionare profilo uno dopo l'altro in modo richiesto per costruire.

Ref - http://maven.apache.org/guides/introduction/introduction-to-profiles.html presa dal basso StackOverflow inviare In Maven, how to run a plugin based on a specific profile

+0

Sì, questo è il modo in cui lavoriamo ora, usiamo i profili all'interno della build. Pensavamo che avremmo potuto fare di meglio e utilizzare build di paraventi paralleli o anche build incrementali per lavorare con sonar. Sto cercando piuttosto una metodologia per integrare il sonar in grandi progetti. Grazie per la risposta, 10 punti da parte mia :) –