Il mio team (~ 10 sviluppatori) è recentemente migrato a Maven (progetto multi-modulo, circa 50 moduli) e ora utilizziamo Jenkins per l'integrazione continua. Poiché la configurazione generale è in esecuzione, stiamo pianificando di includere l'analisi del codice e gli strumenti di reporting (ad es. Checkstyle e Corbertura).
Per quanto posso vedere, abbiamo fondamentalmente due opzioni per generare tali rapporti: utilizzare i plug-in di reporting di Maven per generare un sito e / o utilizzare i plug-in Jenkins per eseguire i report .
Quale approccio è migliore e per quali ragioni?
Sembra che entrambi abbiano i loro pregi:
Maven-Report:
Jenkins-Report:
Qualcuno ha preso una decisione simile in passato, o si tratta di un non-problema per qualche motivo? (Quanto bene funziona? Qualche rimpianto?)
È consigliabile andare in entrambe le direzioni , oppure l'impostazione è noiosa da mantenere?
Ci sono aspetti del problema di cui sono inconsapevole o alcuni vantaggi che non ho notato (ad esempio, il reporting basato su Maven è ben integrato con m2eclipse)?
Eventuali insidie o problemi tipici che probabilmente incontreremo?
Modifica
Abbiamo provato Sonar , come suggerito di seguito (incluso il suo plug-in Jenkins). Finora, funziona abbastanza bene. Sonar è relativamente semplice da installare e funziona in cima al nostro setup di Maven (uno invoca mvn sonar:sonar
o riconfigura un lavoro Jenkins, tutto qui). Ciò significa che non dobbiamo mantenere una configurazione duplicata, poiché tutte le nostre impostazioni Maven vengono utilizzate automaticamente (l'unica eccezione è rappresentata da modelli di esclusione). L'interfaccia web è bella, e - ancora meglio - c'è un plug-in Eclipse che recupera automaticamente tutti i problemi, in modo che nessuno debba accedere al sito Web di Sonar, poiché tutti i problemi possono essere visualizzati automaticamente nell'IDE .