La Build Machine per SubText è quasi
completata, ora manca solo il trasfermento tramite FolderShare al membro del team che la hosterà nella sua farm.
Cosa fa questa build machine?
- ogni 2 minuti verifica sul repository SVN
hostato da SourceForge la presenza di aggiornamenti al codice
- se è stato fatto una modifica aspetta altri 5 minuti
nel caso avvenga un'altro check-in (così si evita di fare due build troppo
ravvicinate)
- se sono passati 5 minuti senza nessun check-in viene attivato,
con NAnt, il processo di build che consiste in:
- cancellazione di tutte le directory \bin e \obj
(così da avere una build pulita) e dei precedenti file di log
- aggiornamento del numero di versione in base al
numero di build progressivo
- build in modalità Debug di tutti i progetti
VS che compongono l'applicativo
- build in modalità debug del progetto di test
- esecuzione di test MbUnit all'interno del processo di NCover
: si esegue così lo unit testing e se ne calcola contemporaneamente
il code coverage
- analisi degli assembly usando FxCop: questo sicuramente è un modo per
deprimersi... ma porta ad un miglior codice.. forse
- build in modalità di Release
- archiviazione della build di Release in un
file zip nominato subtext-major.minor.revision.build.zip
- viene fatto il calcolo della complessità e della
metrica del codice, usando Vil
- e in ultimo viene generato un report riassuntivo del code coverage (sapere
precisamente le righe coperte dai test è un po' troppo per il report web)
- terminato il processo di build viene fatto il merge
di tutti i file di log e questo gigantesco file viene archiviato come stato
della build
- viene mandata una mail a tutti gli sviluppatori ogni volta che cambia lo
stato della build (quando da successfull passa a failed e viceversa)
Per rendere la cosa più complessa ora sul server sta
girando la versione 1.1.0.2185 di CCNET, cioè l'ultima build disponibile. Vi chiederete
perchè mai ho deciso di usare l'ultima build e non l'ultima versione rilasciata?
Fondamentalmente perchè ha due feature aggiuntive molto interessanti: la
prima è che CCTray, l'applicativo per monitorare l'andamento delle build
funziona anche via http (banalmente accede ad un file XML con l'elenco dello
stato delle ultime build) e non solo via remoting come invece accade con la
1.0.x. E poi perchè è in corso lo sviluppo di un grafico con l'andamento delle build, a mio avviso
molto utile per capire lo stato di salute del progetto.
Alla prossima per la procedura d'installazione step-by-step
PS: FolderShare è stato comprato da Microsoft a Novembre 2005, e fa ora parte della loro
strategia per Windows Live
powered by IMHO 1.3
posted @ martedì 18 aprile 2006 13:30