Abbiamo il nostro codice sorgente memorizzato in depositi Kiln/Mercurial; usiamo MSBuild per costruire il nostro prodotto e abbiamo test unitari che utilizzano MSTest (Visual Studio Unit Tests).Raccomandazioni per l'integrazione continua per Mercurial/Kiln + MSBuild + MSTest
Quali soluzioni esistono per implementare una macchina di integrazione continua (cioè macchina di produzione).
I requisiti per questo sono:
- Una build dovrebbe essere preso a calci di quando necessario (cioè il codice è cambiato nei repository ci stanno a cuore)
- Prima la costruzione attuale, l'ultima versione della fonte codice deve essere acquisita dal repository stiamo costruendo da
- la generazione deve costruire l'intero prodotto
- la generazione deve costruire tutti test unitari
- la generazione deve eseguire tutti unit test
- Un sommario di successo/fallimento deve essere inviato al termine della compilazione; questo deve includere informazioni sulla build stessa, ma anche su quali unit test falliti e quali sono riusciti.
- Il riepilogo deve contenere quali set di modifiche erano in questa build che non erano ancora nella versione precedente (!)
- Il sistema deve essere configurabile in modo che possa essere creato da più filiali (/ Archivi).
Idealmente, questo sistema dovrebbe essere eseguito su una singola casella (il nostro prodotto non è così grande) senza componenti del server.
Quali soluzioni sono attualmente disponibili? Quali sono i loro pro/contro? Dalla lista sopra, cosa si può fare e cosa non si può fare?
Grazie
Ho abbandonato CruiseControl per TeamCity e il mio intero team è molto soddisfatto del cambiamento. Utilizziamo gli script MSBuild per i progetti e NUnit per i test. Sviluppiamo principalmente applicazioni C++ e C# – T33C