2010-02-08 7 views
9

Supponendo che stai facendo CI, il titolo dice davvero tutto: quali strumenti usi?Quali strumenti utilizzate per facilitare l'integrazione continua (CI)?

Nel nostro caso siamo un negozio di sviluppo .NET, e stiamo usando

Tuttavia stiamo colpendo alcuni problemi di prestazioni con Subversion e il numero di agenti di costruzione Cruise & che stiamo utilizzando, quindi stiamo utilizzando Git nel back-end per alleviare questo. Tuttavia la versione Windows di Git ci sta dando problemi (sembra un po 'troppo "beta") quindi pensiamo che dobbiamo andare con la versione Linux.

Il lato negativo di questo è che aumenta ulteriormente lo skillset richiesto a chiunque abbia intenzione di amministrare questa configurazione.

Quindi, quali strumenti si utilizzano per il controllo della versione e la creazione/distribuzione automatica? Per favore, menziona anche qual è la tua piattaforma di sviluppo.

risposta

4

Team City come server CI - gratuito per un periodo limitato di progetti.

Nessuna configurazione XML sgradevole, una bella GUI Web invece. Team City può essere configurato anche con diversi sistemi di compilazione, NAnt, MSBuild et al. Altri strumenti possono anche essere impostati per funzionare anche con TC, come ad esempio eseguire test di unità tramite un corridore.

+0

Quale sistema di controllo versione usi in collaborazione con Team City? –

+0

@Richard - Subversion ma supporta gli altri. SVN funziona bene, posso segnalarlo per esperienza. – Finglas

+0

Grazie per la risposta. Puoi dire quanti agenti build di TeamCity hai? (questo sembra essere ciò che ha causato il collo di bottiglia svn per noi - molti agenti di cruise build che fanno gli aggiornamenti contemporaneamente) –

8

Utilizziamo lo strumento open source Hudson. È uno strumento davvero carino per realizzare build automatizzati. Non è solo per la costruzione, però. Si può usare per eseguire i test, fornire rapporti copertura del codice, inviare notifiche e-mail, ecc

(La nostra piattaforma di sviluppo è principalmente Linux + Java)

+2

Utilizziamo anche Hudson e abbiamo un mix di Java e C++ su Windows. – mskfisher

2

Al mio attuale lavoro (contratto per un'azienda molto grande, circa il 90% di Microsoft/.NET dev), il mio gruppo sta automatizzando le build e il collaudo delle unità con TeamCity sulle nuove applicazioni.

L'ho impostato e ho iniziato con MSBuild su TC, ma sto provando a inviare file di build Nant e altri standard su nuovi progetti. (utilizzando i modelli in VS2008 per generare gran parte dell'impostazione di compilazione quando viene creato un nuovo progetto)

Il controllo sorgente qui è spaventoso. Un sacco di gruppi usano ancora VSS (incluso il mio, che non è divertente) con una spinta aziendale verso TFS quest'anno. Preferirei fare un DVCS (git o qualcosa del genere), ma non succederà in questo ambiente. In effetti, non sono sicuro che TeamCity riuscirà a rimanere una volta che l'azienda passerà a TFS al 100%. Ma, i miei pensieri sono, saremo così avanzati con CI al momento che ciò accadrà, che TFS potrebbe non coprire i nostri bisogni. Ma torniamo a TeamCity, supporta VSS e questo ha funzionato.

Per quanto riguarda la distribuzione, sto scherzando con Microsoft Web Deployment Project add-in e una configurazione in Nant. L'approccio Nant è ovviamente più flessibile, ma cercare di insegnare agli sviluppatori di Nant è un po 'troppo a volte.

La speranza aiuta un po '. La "demo" di TeamCity ti fornirà 20 configurazioni di build gratuite.

Devo notare che ho provato CruiseControl.net e Hudson. Entrambe sono ottime app (e gratuite), ma sapevo che sarebbe stata necessaria la semplicità di creare una nuova build in TeamCity per gli altri membri del mio gruppo. Altrimenti, le persone semplicemente non farebbero CI una volta che me ne sarò andato.

+0

Hai dimenticato di aggiungere - Le nostre applicazioni principali in TeamCity sono C-3.5 "webform" e progetti MVC. Ho un paio di piccole console app che sono anche in CI. L'unità di test è nUnit in questo momento. Potrebbe passare a MSTest se passiamo a TFS. Sto anche automatizzando l'analisi FXCop in TeamCity sulla maggior parte delle build. Estremamente facile da configurare. – adammokan

+1

Inoltre, controlla questo post sul blog recente per sapere come qualcuno ha configurato TeamCity e MSDeploy per distribuire le loro app. http://therightstuff.de/2010/02/06/How-We-Practice-Continuous-Integration-End-Deployment-With-MSDeploy.aspx – adammokan

1

Il mio negozio è Java/Windows, utilizzando il software IBM; ClearCase, WAS, WMB, WPS. Siamo andati con Hudson, e ha fatto cose meravigliose per la produttività.

Usiamo anche un piccolo animale di pezza, in questo caso un cantante Frosty The Snowman alto circa 12 "Ogni volta che uno sviluppatore rompe la build, come identificato da Hudson, ha 15 minuti per pulire il casino, o Frosty si ferma sulla scrivania fino a quando qualcun altro lo chiude allo stesso modo

Ho avuto Frosty una o due volte, come del resto tutta la squadra, aiuta mentalmente a migliorare le pratiche di codifica, oa Per lo meno, le pratiche di codifica che non ostacolano i tuoi compagni di squadra

0

ho usato cruise control.net, nunit, fxcop, ncover, xmlpreprocess, nant e alcuni altri prima di passare a TFS dove sto facendo un sacco di S sviluppo di harepoint. Non ho investito in un processo di CI per lo sviluppo di sharepoint a vincoli sul nostro progetto, ma ho sviluppato attività di msbuild e sottoscritto a eventi TFS per simulare il processo CI con TFS 2k5. Non ho esaminato affatto TFS 2k8 ma è sicuramente supportato.

Problemi correlati