Dopo mesi di inattività, il mio progetto Blog Informatico riprende vita con un nuovo articolo sul Continuous Integration con CruiseControl.net. L’obbiettivo mio e di mio fratello è quello di ridare nuova linfa vitale al sito con una nuova grafica e nuovi contenuti. L’impegno da parte nostra sarà grande e speriamo costante.
Come argomento di riapertura la scelta è caduta sul Continuous Integration che oltre ad essere un mio strumento fondamentale di sviluppo, è diventato parte integrante del ciclo di sviluppo software. Come del resto mi conferma anche Google Analytics che posiziona le parole Continuous Integration in cima alle parole chiave di ricerca come sorgenti traffico per questo sito.
Che dire, ben tornato Blog Informatico!
Informatica, Internet, progetti
Blog Informatico, continuous integration, cruisecontrol.net
In questi giorni mi sono deciso di riorganizzare i server che utilizziamo per lo sviluppo del nostro prodotto. In particolare ho sistemato il server di continuous integration basato su CruiseControl.net (che consiglio caldamente). Dopo aver aggiornato all’ultima release tutto il software necessario ho riorganizzato e ottimizzato i progetti in CruiseControl.net in questo modo.
Progetto “Continuous“.
Questo è il progetto principale, quello che viene eseguito in “continuazione” ogni volta che qualcuno apporta una modifica alla solution del progetto. Snello e molto veloce nell’eseguire le sue attività è l’ideale per ricevere in tempi brevi un risultato sulla situazione. I task eseguiti sono:
- Compilazione solution in modalità debug
- Esecuzione degli unit test in modalità debug
Progetto “Metrics“.
Concepito per eseguire metriche di qualsiasi tipo sul codice sorgente, viene lanciato una volta ogni due ore, poiché il processo è abbastanza lungo ed oneroso in termini di risore, e schedulato per funzionare dalle 8 alle 20 dal lunedì al venerdì. I task eseguiti sono:
- Compilazione solution in modalità release
- Esecuzione unit test in modalità release
- Coverage degli stessi
- Esecuzione di Simian
- Esecuzione di SourceMonitor
- Esecuzione di FxCop
Progetto “Deploy“.
Come ultimo questo progetto ideale per svolgere tutte quelle attività di pre e post deploy tipiche di un rilascio. Tra queste è compresa la generazione della documentazione del codice sorgente. I task eseguiti sono:
- Compilazione solution in modalità release
- Generazione dell’installazione
- Generazione documentazione tecnica
Credo che questa suddivisione riesca bene ad ottimizzare le risorse del server e nel contempo a soddisfare le nostre esigenze di progetto. Non nascondo la difficoltà incontrate nel configurare CruiseControl e Nant (maledetti file di configurazione in xml) ma alla fine ho vinto io!
Programmazione
continuous integration, cruisecontrol.net, integration