2010-07-19 13 views
5

Qualcuno sa di un modo integrato per far sì che Hudson tenga traccia di quanti file sono stati modificati, aggiunti o eliminati nel repository del codice sorgente in ogni build? Mi piacerebbe tracciare i risultati nello stesso modo in cui i grafici dei risultati del test JUnit mostrano il numero di test di passaggio e non riusciti per ogni build.Hudson: tenere traccia del numero di file modificati in ogni build

Il Measurement Plots plugin e il Plot Plugin sembrano come se potessero darmi un punto di partenza, ma mi chiedo se ci potrebbe essere un plug-in o funzionalità più specifici già disponibili.

Il mio sistema SCM è CVS, ma mi piacerebbe una soluzione generica che funzionasse con altri sistemi SCM.

+1

Doveva essere un numero? hai familiarità con la funzione quando fai clic su una build, quindi visualizza un curriculum della build che include le modifiche, in cui hai un link 'dettagli'? Qui puoi visualizzare un elenco dettagliato delle modifiche per revisione/autore. – rsilva4

+0

Ho familiarità con quel collegamento ma, come ho detto nella mia domanda, voglio tracciare un numero sinlge per ogni build in modo da poterlo tracciare nel tempo. –

risposta

2

Non credo ci siano plugin esistenti che lo facciano direttamente.

Se non ha bisogno di essere specificamente monitorati per ogni generazione (cioè se si è davvero più interessati a variazioni nel tempo ), poi vorrei suggerire la creazione di Sonar, che tiene traccia delle modifiche quotidiane dal costruisce e si integra in modo fantastico con Hudson o FishEye che si collega direttamente al tuo sistema SCM.

Ma perché non provare a scrivere il plugin per Hudson? Sembra il genere di cose che le persone potrebbero voler visualizzare come una metrica per build.

+0

Grazie, Zac - Penso che avrò un tentativo di scrivere un plug-in. –

1

Penso che questa domanda sia più generica che specifica per Hudson. Probabilmente dovrai scrivere un piccolo codice da solo. Sfortunatamente, non penso che nessuna soluzione sarà agnostica SCM perché Hudson tende a utilizzare gli strumenti SCM per eseguire i bit SCM.

non ho trovato nessun soluzioni off-the-shelf, ecco quello che ho vedere avrebbe dovuto essere fatto:

  1. trovare il comando SCM che si sta utilizzando (vale a dire, svn up, cvs -n).
  2. Utilizzare wc -l o qualche altro comando per contare il numero di righe in uscita. Questo ti darà una stima del numero di file modificati/aggiunti/cancellati.
  3. Analizzare l'output se si desidera che i nomi dei singoli file siano stati aggiunti/modificati/eliminati.

Sfortunatamente, non penso che ci sia un modo agnostico SCM per farlo. Forse il meglio che si possa fare è trovare un'implementazione del client CVS/SVN pure-Java che è possibile modificare per tenere traccia dei file non appena arrivano da SCM.