Domanda

Sto cercando di mettere insieme un requisito per un nuovo ambiente composto da TeamCity che esegue Sql Server, un paio di agenti di build (per ora) e un repository SVN.

Ci sono 6 sviluppatori e per il momento ci saranno 5 soluzioni attive che parteciperanno al processo CI, che ovviamente crescerà nel tempo. Nessuna delle soluzioni richiede > 10 minuti per essere costruita attualmente, quindi non sono enormi in termini di complessità e amp; loc.

I progetti di compilazione necessiteranno essi stessi di un'istanza di sql server in modo che possano essere eseguiti i test automatizzati - suppongo che dovrebbero essere tenuti separati dall'istanza sql di TeamCity.

Qualcuno può suggerire una configurazione hardware adatta per eseguirli. L'I / O del disco sarà più importante della potenza effettiva della CPU.

Posso eseguire tutto questo su un singolo multi cpu, raid e virtualizzazione?

Dovremmo essere in esecuzione con Windows 2008 e Hyper-V?

Ho sempre lasciato che gli altri si occupassero dei requisiti del server e lo costruissero, ma ora devo sporcarmi i piedi.

Qualunque consiglio molto gradito

È stato utile?

Soluzione

Un punto dati:

Il nostro ambiente TeamCity è attivo (se ricordo bene) un trio di server a 8 core ciascuno con 32 GB di RAM, con Windows 2008 e HyperV. Il nostro repository SVN si trova su un server diverso (per motivi storici). Penso che ora tutto sia su una SAN, per affidabilità (se uno degli host si arresta, possiamo facilmente spostare le VM su un altro host).

Abbiamo 10 agenti di build, tutti in esecuzione nelle macchine virtuali. 4 di questi sono usati per build diritte; 6 di questi sono usati per build ed eseguire test di sistema (che implica il coordinamento di altre VM nei test). Abbiamo optato per questo perché alcuni dei nostri test di sistema richiedono 11 ore per l'esecuzione e non vogliamo bloccare la coda di compilazione. Abbiamo rilasci graduali - un progetto idealmente non viene rilasciato al reparto test fino a quando non supera i test automatici di unità e sistema.

Abbiamo circa una dozzina di sviluppatori che lavorano attivamente su 3 o 4 progetti alla volta. Utilizziamo inoltre TeamCity per la creazione di aggiornamenti rapidi e versioni di manutenzione.

Nel tuo scenario, opterei per Windows 2008 e HyperV, sulla scatola più grande per la quale hai il budget. L'I / O su disco è più importante della potenza della CPU, ma con più core è possibile scalare più facilmente su più macchine virtuali. Molta RAM assegnata a ciascuna VM evita lo scambio e aiuta la memorizzazione nella cache, il che significa meno I / O su disco. A un certo punto, potresti considerare di avere due o più scatole, per il failover e perché a volte è più economico acquistare due scatole con 32 GB di RAM che acquistare l'opzione 64 GB per una singola scatola.

Un vantaggio dell'utilizzo di macchine virtuali è che è possibile acquisirle e ripristinarle periodicamente. Ogni progetto dovrebbe probabilmente avere la propria istanza di SQL Server.

Altri suggerimenti

Dovresti dare un'occhiata alla sezione Come nella nostra documentazione: http: // confluence.jetbrains.net/display/TCD65/How+To ... Qui troverai "Stima dei requisiti hardware per TeamCity" argomento. Probabilmente aiuterà.

Il link nel post precedente è interrotto Di seguito è quello corretto. http://confluence.jetbrains.com/display /TCD65/How+To...#HowTo...-hardwarerequirements

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