Pregunta

Estoy tratando de reunir un requisito para que un nuevo entorno consista en que TeamCity ejecute Sql Server, un par de agentes de compilación (por ahora) y un repositorio SVN.

Hay 6 desarrolladores y habrá 5 soluciones activas participando en el proceso de CI por ahora, lo que obviamente crecerá con el tiempo. Ninguna de las soluciones demora en construirse > 10 minutos en la actualidad, por lo que no son tan grandes en términos de complejidad y amp; loc.

Los proyectos de compilación necesitarán una instancia de servidor SQL para que se ejecuten las pruebas automatizadas. Supongo que deben mantenerse separados de la instancia de 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 todo esto en una sola CPU múltiple, raid y virtualización?

¿Deberíamos estar ejecutando Windows 2008 e Hyper-V?

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

Cualquier consejo bienvenido

¿Fue útil?

Solución

Un punto de datos:

Nuestro entorno TeamCity está activado (si recuerdo bien) un trío de servidores de 8 núcleos, cada uno con 32 GB de RAM, que ejecutan Windows 2008 y HyperV. Nuestro repositorio SVN está en un servidor diferente (por razones históricas). Creo que todo está en una SAN ahora, 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 ejecutados en máquinas virtuales. 4 de ellos se utilizan para construcciones rectas; 6 de ellos se utilizan para compilaciones y para ejecutar pruebas del sistema (lo que implica coordinar otras máquinas virtuales en las pruebas). Optamos por esto porque algunas de nuestras pruebas de sistema tardan 11 horas en ejecutarse, y no queremos detener la cola de compilación. Tenemos lanzamientos en fase, lo ideal es que un proyecto no se lance al departamento de pruebas hasta que pase las pruebas automatizadas de unidades y sistemas.

Tenemos alrededor de una docena de desarrolladores que trabajan activamente en 3 o 4 proyectos a la vez. También usamos TeamCity para compilar revisiones de mantenimiento y revisión.

En su escenario, optaría por Windows 2008 y HyperV, en la casilla más grande para la que tiene el presupuesto. 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. Un montón 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 un determinado momento, puede considerar tener dos o más cajas, para la conmutación por error, 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 usar máquinas virtuales es que puede hacerles una instantánea y revertirlas periódicamente. Es probable que cada proyecto tenga su propia instancia de SQL Server.

Otros consejos

Debes echar un vistazo a la sección Cómo en nuestra documentación: http: // confluence.jetbrains.net/display/TCD65/How+To ... Allí encontrará " Estimar los requisitos de hardware para TeamCity " tema. Probablemente ayude.

El enlace en la publicación anterior está roto El siguiente es el correcto. http://confluence.jetbrains.com/display /TCD65/How+To...#HowTo...-hardwarerequerements

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top