Domanda

Attualmente sto creazione di un nuovo server di build e sono interessati a tutti i suggerimenti della comunità può avere su software come Hudson o CruiseControl.NET che possono semplificare e aggiungere ulteriore valore al processo di compilazione.

In precedenza ho avuto un build server configurato con i file batch personalizzati che siano in MSBuild e altri tali strumenti e questi sono stati innescata da ganci sovversione per consentire un continuo costruisce da fare per filiale. L'idea era che alla fine avremmo anche eseguire test automatizzati e / o analisi statica, anche se non abbiamo mai veramente avuto così lontano. Questo server ha agito anche come il nostro repository di codice sorgente, una macchina di prova per il progetto web costruisce, e un server web per la dashboard personalizzati e il portale per gli sviluppatori del team.

A questo punto i miei pensieri sono per separare alcune delle responsabilità del vecchio server di build e almeno una build dei server che è responsabile solo per la creazione costruisce, un web server che è responsabile in qualità di sito Dashboard stile intranet per gli sviluppatori e, forse, un server web aggiuntivo come repository Subversion. Se si scopre di essere migliore o più facile da mantenere il codice di Subversion sullo stesso server come svnserve allora io probabilmente scegliere di escludere completamente il repository Subversion sul server web, ma ancora mantenere la build server separato. Non avendo esperienza personale con uno qualsiasi dei server di build popolare e soluzioni CI là fuori Sono curioso come CruiseControl.NET, Hudson o altre soluzioni si adatterebbe in questo tipo di configurazione. Sembra che entrambi CC.NET e Hudson hanno interfacce web per esempio, ma la documentazione non indica chiaramente il layout come questo gioca fuori con diverse configurazioni hardware / sistema in modo non sono sicuro se uno richiede la parte web di essere sulla costruzione server stesso o no.

Per quanto riguarda le tecnologie ho a che fare con .NET / C # codice di base che è un mix di Web / WinForms / WPF e abbiamo utilizzare alcuni repository Subversion separati per ospitare questi progetti. Inoltre sarebbe bello per supportare Visual FoxPro e Visual Source Safe per alcune applicazioni legacy. Vorrei anche per ottenere più membri del team coinvolti nel monitoraggio costruisce e vorrebbero avere eventuali sviluppatori di creare configurazioni di build per i propri progetti anche con il più semplice possibile. Inoltre devo dire che non ho alcuna esperienza creazione di un'applicazione Web Java in IIS, ma ho un po 'di esperienza la creazione e la gestione di applicazioni ASP.NET quindi se questo può rendere i prodotti a base di .NET più favorevole se non posso essere convinto altrimenti.

UPDATE (dopo la ricerca Hudson): dopo tutte le raccomandazioni per Hudson ho iniziato a cercare in quello che è coinvolto a farlo installato e funzionante sulle mie due Windows 2008 server. Da quello che ho potuto capire la parte web (master) avrebbe eseguito sul mio webserver ma sembra che IIS non è supportata in modo da questo sarebbe cose molto complicate da quando ho voglia di ospitarlo sulla stessa macchina come le mie altre applicazioni web. Sul server di build, sarei installazione di una seconda copia di Hudson che avrebbe agito come uno schiavo ed eseguire solo costruisce che sono ad esso delegate dal master. Per arrivare a questo lavoro sarei installando Hudson come servizio di Windows e sarebbe anche necessario installare alcuni UNIX utility di compatibilità . Purtroppo la href="http://unxutils.sourceforge.net/UnxUtils.zip" rel="nofollow noreferrer"> UnxUtils collegamento sembra essere rotto quando ho controllato e quindi non posso davvero andare avanti fino a quando ho ottenere che risolto. Tutto questo è in realtà che suona altrettanto complesso, se non più complesso di installazione CruseControl.NET. Per ora questo mi lascia purtroppo a guardare in CruiseControl.NET e TeamCity.

UPDATE (circa TeamCity) : Dopo aver guardato in TeamCity un po 'più vicino mi sono reso conto che almeno la parte server è anche scritto in Java ed è distribuito in modo molto simile a Hudson. Fortunatamente sembra che Tomcat può essere utilizzato per i servlet di accoglienza all'interno di IIS, anche se non riesco a trovare un buon semplice guida per descrivere come fare effettivamente realizzare questo. Così saltare che per ora ho guardato ulteriormente quando mi sono imbattuto in quello che appare come quello che potrebbe essere un importante intoppo .

  solo

Edizione TeamCity professionale   supporta TeamCity predefinito   Autenticazione e non supporta   cambiando lo schema di autenticazione.

Poiché l'autenticazione di Windows è probabile che la direzione che si vuole andare, è ora alla ricerca come potrebbe essere di nuovo a valutare CruiseControl.NET o forse Hudson se riesco a mettere le mani sui UnxUtils e anche scoprire di più su come posso ospiterà la porzione cruscotto della Hudson nel mio configurazione di IIS esistente. Tutti gli indicatori?

UPDATE (circa Jenkins) : ho finito abbastanza sperimentazione di Hudson che ho finito con una configurazione di build server ragionevole che sono felice con e che può essere estesa a fare molto di più se io bisogno. Naturalmente sono andato la rotta di conversione in Jenkins volta Oracle ha assunto Hudson e Jenkins è quello che sto usando oggi con piccoli pezzi di PowerShell per cose aiuto legare insieme. Sono molto contento di questo approccio in questo momento e oltre ad essere basato su Java, Jenkins ha un po 'di supporto per altri ambienti di sviluppo come .NET e MSBuild.

È stato utile?

Soluzione

Mi consiglia di utilizzare Hudson . Non solo si permetterà di costruire applicazioni .NET su una base continua, ma è anche possibile eseguire l'analisi del codice e test di unità pure. E 'facile da installare (basta distribuire un file WAR su un server Web come Tomcat ) e ha molte opzioni di configurazione. V'è anche un gran numero di plugin disponibili che è possibile utilizzare, molti da altri utenti Hudson. Meglio di tutti, è gratuito e supportato attivamente.

Altri suggerimenti

mi piacerebbe votare per TeamCity qui. La sua è molto, molto facile da ottenere si alzò e funzionante, si integra con tutte le tue cose .NET senza alcuna difficoltà. Il costruisce stessi è gestita da agenti che possono essere sul server di compilazione o di un'altra macchina a seconda delle esigenze - e possono anche essere su una macchina che esegue un sistema operativo completamente diverso su una rete diversa in un paese diverso.

Per il nostro processo decisionale abbiamo iniziato con panoramica seguente.

http://confluence.public.thoughtworks.org/display / CC / CI + Caratteristica + Matrix

Il nostro obiettivo principale era Java, facile da configurare / uso anche dopo nessuno ha creato un posto di lavoro per 6 mesi. Ci siamo trasferiti lontano da una versione vecchia, Cruise Control, dal momento che nessuno sapeva come usarlo. Alcuni dei prodotti commerciali sono bello se si vuole andare oltre l'integrazione solo continua. Date un'occhiata e decidere per te.

Attenzione, io non so come fino ad oggi questa matrice è. Così alcuni dei progetti potrebbero hanno attuato più funzioni al momento.

Una interessante alternativa potrebbe essere Jira in studio di Atlasian. Se si utilizza la versione hosted non si ha tanto su problemi di supporto e viene fornito con la sovversione, bambù, e dolcetti (jira + GreenHopper, confluenza, crogiolo, fisheye). http://www.atlassian.com/hosted/studio/

Sono d'accordo con Wyatt Barnett. TeamCity è la scelta migliore. E 'molto facile da configurare e utilizzare. Inoltre, TeamCity ha una Professional Edition gratis. In precedenza abbiamo utilizzato CruiseControl.NET sul nostro progetto. Questo è anche uno strumento potente, ma è molto complicato e difficile da comprendere.

Cosa s.ermakovich ha detto: Sia TeamCity e Hudson separano l'interfaccia utente web da agenti di compilazione. Non dovrebbe essere necessario installare IIS su un agente di compilazione. Avresti bisogno di installare una JVM e il software dell'agente su qualsiasi nodo accumulo -. Molto semplice

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