Attualmente utilizziamo il server cc.net una volta per il nostro processo di compilazione, che crea sia .net (usando msbuild & nant) che java (usando maven e ant).
CC.net monitora il controllo del codice sorgente e attiva una build remota in esecuzione su un server separato. CC.net quindi raccoglie i risultati.
Quando eseguiamo la build remota, in genere:
- esegue nunit o junit o simili usando dati derisi
- opzionalmente esegue uno script DB per creare una nuova istanza del database o ripristinare un database da una posizione nota.
- esegue selenio o simile all'interfaccia utente di test
- esegue emma o ncover per la copertura del codice
- costruisce il sistema per vari ambienti di distribuzione (test, accettazione, produzione)
Potremmo avere diverse build in esecuzione contemporaneamente, alcune .net e alcune java (di diversi team di progetto).
È piuttosto dispendioso in termini di tempo per far funzionare le build remote quando creiamo un nuovo progetto e riteniamo che ci debba essere qualcosa di più adatto alle build remote rispetto a cc.net.
Qualcuno ha esperienza con build remote con sistemi di integrazione continua?
Non voglio davvero elenchi di funzionalità di server CI, apprezzerei molto di più sapere come li hai usati in un ambiente multi lingua e multi server.