2008-12-31 22 views
5

Estoy tratando de poner un requisito juntos por un nuevo entorno para consistir en TeamCity funcionamiento de SQL Server, un par de agentes de generación (por ahora) y un repositorio SVN.SVN, TeamCity requisito virtualización/hardware

Hay 6 desarrolladores y habrá 5 soluciones activas que toman parte en el proceso de CI por ahora lo que obviamente creciendo con el tiempo. Ninguna de las soluciones tarda más de 10 minutos en crearse actualmente, por lo que no son enormes en términos de complejidad & loc.

Los proyectos de construcción serán ellos mismos necesitan una instancia de SQL Server por lo que las pruebas automatizadas pueden funcionar - Asumo que deben mantenerse separados de la instancia de SQL TeamCity.

¿Alguien puede sugerir una configuración de hardware adecuada para ejecutar estos. ¿El disco I/O va a ser más importante que la potencia real de la CPU?

¿Puedo ejecutar todos estos en una sola CPU múltiple, incursión y virtualización?

¿Deberíamos ejecutar con Windows 2008 e hyper-v?

Siempre he dejado que otros se encarguen de los requisitos del servidor y la compilación, pero ahora tengo que ensuciarme los pies.

Cualquier consejo más bienvenidos

Respuesta

9

Un punto de datos:

ambiente Nuestra TeamCity está activada (si no recuerdo mal) un trío de servidores de 8 núcleos cada uno con 32 GB de memoria RAM, con Windows 2008 y Hyper-V. Nuestro repositorio SVN está en un servidor diferente (por razones históricas). Creo que ahora todo está en una SAN, por confiabilidad (si uno de los hosts falla, podemos mover fácilmente las máquinas virtuales a otro host).

Tenemos 10 agentes de compilación, todos se ejecutan en máquinas virtuales. 4 de ellos se utilizan para construcciones rectas; 6 de ellos se utilizan para construir y ejecutar pruebas del sistema (lo que implica coordinar otras máquinas virtuales en las pruebas). Optamos por esto porque algunas de nuestras pruebas del sistema tardan 11 horas en ejecutarse, y no queremos mantener la cola de compilación. Tenemos lanzamientos escalonados: un proyecto idealmente no se libera al departamento de pruebas hasta que pase las pruebas automáticas de unidades y sistemas.

Tenemos aproximadamente una docena de desarrolladores trabajando activamente en 3 o 4 proyectos a la vez. También usamos TeamCity para crear versiones de revisión y mantenimiento.

En su escenario, me gustaría optar por Windows 2008 y Hyper-V, en el cuadro más grande que tiene el presupuesto para. La E/S de disco es más importante que la potencia de la CPU, pero con más núcleos puede escalar más fácilmente a más máquinas virtuales. Una gran cantidad de RAM asignada a cada máquina virtual evita el intercambio y ayuda al almacenamiento en caché, lo que significa menos E/S de disco. En cierto punto, puede considerar tener dos o más cajas, para el fracaso, y porque a veces es más barato comprar dos cajas con 32 Gb de RAM que comprar la opción de 64 Gb para una sola caja.

Una de las ventajas de la utilización de máquinas virtuales es que puede crear una instantánea de ellos y volver periódicamente. Cada proyecto probablemente debería tener su propia instancia de SQL Server.

+0

Roger, Gracias por el gran detalle en su respuesta. Muy apreciado – redsquare

+0

Después de leer su respuesta de nuevo ... prueba de 11 horas, wow ... cuidado de divulgar por qué tanto tiempo! – redsquare

+1

Uno de los BCP prueba varios millones de filas en la base de datos y luego ejecuta el código que se probará. Puede llevar una hora ejecutar solo esta prueba. –

3

Debería consultar la sección de Instrucciones en nuestra documentación: http://confluence.jetbrains.net/display/TCD65/How+To ... Allí encontrará el tema "Estimar los requisitos de hardware para TeamCity". Probablemente será de ayuda.

+0

El enlace más actualizado de los documentos de TeamCity 8 es http://confluence.jetbrains.com/display/TCD8/How+To...#HowTo...-EstimatehardwarerequirementsforTeamCity – KIR