Domanda

Attualmente uso sovversione per il mio controllo della versione tramite AhnkSVN e VisualStudio.Recentemente ho iniziato a usare Chirurgo degli alberi per impostare i miei progetti.Crea automaticamente uno script di build utilizzando NAnt.Mi piacerebbe essere in grado di automatizzare la creazione regolare di progetti all'interno di SVN.Mi piace l'idea di fare una build ad ogni check-in, ma funzionerebbero anche le build notturne.Vorrei fornire più informazioni o più pensieri, ma ho pensato di lasciarlo aperto e vedere cosa ha da dire la comunità SO.

È stato utile?

Soluzione

Potresti usare CruiseControl.Net, che può eseguire una build a ogni check-in, build notturne o comunque tu voglia farlo.Una rapida ricerca su Google suggerisce che CC.Net ne ha alcuni integrazione con NAnt Già.

Altri suggerimenti

Come altri hanno già detto, qui utilizziamo CCNET, che di solito non lavoriamo su una build notturna, ma adottiamo invece una strategia di integrazione continua (a ogni check-in).

Consiglierei di fare lo stesso, sia da solo che all'interno di un team, perché puoi impostare molto facilmente test unitari da eseguire anche su ogni check-in, test FXCop e una serie di altri prodotti.

Se sei solo tu in un team composto da un solo uomo e non hai troppi progetti in movimento, ti consiglio anche di dare un'occhiata Squadra Città come opzione, perché ha una versione gratuita e, secondo quanto riferito, la creazione di report e la configurazione sono molto più semplici (a me sembra carino).

Detto questo, abbiamo iniziato con CCNET e abbiamo sviluppato diversi prodotti troppo grandi per poter guardare Team City nella versione gratuita e siamo molto soddisfatti di ciò che abbiamo.

Le funzionalità che aiutano con CCNET includono:

  • Configurazione basata su XML: in genere puoi copiare e incollare la maggior parte di ciò di cui hai bisogno.
  • Più o meno sarai in grado di collegare il tuo script treeurgeon come script di compilazione e indicarlo a CCNET come attività eseguibile per eseguire la compilazione.
  • Molta documentazione e molto facile da configurare nunit, ncover, fxcop, ecc.
  • App sulla barra delle applicazioni che ti permetterà di conoscere lo stato dei tuoi progetti in qualsiasi momento e può anche inviare un'e-mail o conservare un feed RSS con le stesse informazioni.

Ma sicuramente eseguirei una build CI ad ogni check-in: per la maggior parte eseguirò i test unitari prima del check-in, ma lascerò che il server CCNET gestisca qualsiasi applicazione/assembly che abbia dipendenze dall'assembly che abbiamo' stanno effettuando il check-in e vengono ricostruiti e testati nuovamente a ogni check-in.

Dato che è gratuito e richiede pochissimo tempo per la configurazione, ti consiglio vivamente di provarlo.

CruiseControl.NET è la tua migliore opzione, secondo me.È abbastanza facile da estendere con attività personalizzate, se necessario, funziona sia con NAnt che con MSBuild immediatamente ed è mantenuto molto attivamente.

C'è anche Draco.NET, che è stato ispirato da CruiseControl.NET ed è un po' più leggero.Guarda questo articolo per ulteriori informazioni su entrambe le soluzioni di integrazione continua.

suggerisco TeamCity. :)

Ci sono molto affezionato buildbot.È open source, scritto in Python e molto facile da implementare, sviluppare e mantenere.Si integra facilmente con svn e la maggior parte degli altri sistemi di controllo del codice sorgente.Tutto il tuo script di build è codice Python, quindi hai molta flessibilità in termini di ciò che i tuoi script Build Master principali possono fare.Ovviamente puoi anche usarlo per avviare qualsiasi altro tipo di script o file batch.

Potresti dare un'occhiata ad alcuni esempi di buildbot in azione:

Potresti prendere in considerazione CI-Factory.È un costruttore di ambienti di integrazione continua che utilizza CruiseControl.NET e una dozzina di altri strumenti.C'è un eccellente screencast qui: http://www.dnrtv.com/default.aspx?showID=64

Utilizziamo CruiseControl.NET sia con NAnt che MsBuild per il nostro server di build.L'abbiamo configurato in modo che avesse build ogni volta che inserisciamo il codice, così come build notturne.

Cascata supporta la compilazione di ogni singola modifica apportata al repository.

Utilizzo FinalBuilder ormai da alcuni anni.Il vantaggio di FinalBuilder è che fa molto di più che limitarsi a creare.L'ho configurato per eseguire alcune analisi dei risultati, creare archivi delle build, inviare registri degli errori, ecc.L'ultima versione ha un'interfaccia web che permette ai non esperti di avviare le build con un clic.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top