7

Planeo proponerle a mi (muy pequeña) empresa que compre una computadora para ejecutar una integración continua. Si dicen que sí, la tarea de comprar realmente la máquina probablemente recaiga sobre mí, entonces mi pregunta es:Comprar una máquina para una integración continua: ¿factores clave?

¿Qué busco en una computadora que se utilizará para una integración continua para una persona muy pequeña (3 personas)? equipo php?

¿Qué "cosas" (memoria, procesador, etc.) son importantes, y cuáles no?

+0

¿Está seguro de que la etiqueta de "requisitos" es adecuada para esta pregunta? – Yarik

+0

No, supongo que eso realmente significa algo más. – Oddmund

Respuesta

6

Realmente no vas a necesitar la potencia de una máquina. Si está ejecutando pruebas u otras métricas, la capacidad de procesamiento es probablemente su principal preocupación, pero realmente podría ejecutarlo en un viejo pentium 1 y probablemente funcionaría.

Sus limitaciones van a ser su entorno operativo. Si está ejecutando LAMP, quiere usar una máquina que pueda manejar bien la configuración LAMP, que es prácticamente cualquier máquina * nix que sea bastante moderna.

Configuré una configuración de integración continua para .NET en una antigua estación de trabajo Pentium4 que teníamos puesta y funcionaba muy bien.

Una cosa a tener en cuenta es el espacio de almacenamiento si está archivando su código en la compilación.

+0

Suficiente espacio de almacenamiento es crítico. Compre muchos discos y monitoree de cerca. –

+1

http://www.ibm.com/developerworks/java/library/j-ap11297/ Un anti-patrón común para CI es un servidor demasiado lento. Invertir en hardware para compilaciones más rápidas es una buena inversión. – MatteS

0

A menos que la aplicación sea enorme, me gustaría obtener una caja de doble núcleo con aproximadamente 4 gigas de ram y probablemente 2 discos SATA razonablemente rápidos configurados en RAID 0. 500 Gigs tal vez?

Si quiere estar realmente seguro con ella, obtenga dos unidades de concierto 70ish para RAID 0 para la partición OS y luego 3 unidades 140+ gig en RAID 5 para los datos.

2

Desde mi experiencia, esta no tiene que ser una máquina potente. Cualquier máquina que usarías para el desarrollo sería más que satisfactoria. Obviamente, cuanto más rápida sea la máquina, más rápida será la respuesta si está ejecutando pruebas unitarias en confirmaciones de código. Nuestro servidor de CI está ejecutando XP SP2, procesador 3G, 3G de RAM, y ahora está sobrecargado para nuestras necesidades. Dicho esto, es agradable recibir un correo electrónico no más de 6 minutos después de la confirmación que le permite saber si la construcción está limpia y todas las pruebas pasan. Para hacer compilaciones nocturnas, las especificaciones probablemente bajen más, ya que probablemente tengas más tiempo para completarlas. El espacio en el disco duro (300G es razonablemente posible en estos días) es bueno para almacenar informes y compilaciones de regresión, pero si tiene un NAS, probablemente pueda expulsar artefactos una vez que se hayan construido.

3

El almacenamiento se convirtió en el problema para nosotros cuando estábamos usando Maven, Continuum y Clearcase y construyendo cada hora. Las vistas de instantáneas se dejaban después de cada compilación.

Teníamos una caja suficientemente potente (Sun Fire V490) y la usábamos para nuestro entorno de integración de desarrollo y el repositorio Archiva. Entonces nunca tuvimos ningún problema con el rendimiento y la memoria. De hecho, la única vez que tuvimos un problema con la memoria PermGen fue construir el objetivo del sitio Maven y eso solo significó usar -XX: MaxPermSize = 128m.

0

El rendimiento de la máquina no importa, pero tenga en cuenta la disponibilidad, ya que una vez que comienza a usarlo y un día sale el humo mágico, necesita reemplazarlo pronto para seguir trabajando. Defina una política de copia de seguridad sensata y asegúrese de saber cómo configurar un nuevo sistema idéntico cuando sea necesario. Por ejemplo, puede hacer que se ejecute desde una pequeña partición en la que pueda crear imágenes en otra máquina, y luego la parte principal de los datos se puede mover físicamente si reside en RAID1 y funciona al menos una unidad (aunque tiene una copia de seguridad disponible en otra parte) en la red también).

2

Casi cualquier máquina nueva que pueda comprar hoy puede manejar la tarea de integración continua en un árbol fuente no demasiado grande. Algunas cosas que debe buscar:

  • 2-4GB de RAM, más si desea ejecutar muchas pruebas en paralelo o si desea ejecutar máquinas virtuales para simular clientes.
  • Un procesador multi-core (o procesadores múltiples) para aumentar las posibilidades de atrapar errores de enhebrado.
  • Las máquinas de la clase "Servidor" tienden a manejar la operación 24/7 mejor que las máquinas de clase "de escritorio", pero no hay una línea clara entre las dos.
  • Los discos redundantes RAID1 o RAID1 + 0 son obligatorios. Incluso si tiene copias de seguridad (y debe tenerlas de todos modos), es difícil reconstruir un servidor y un disco duro extra de $ 100 vale más que dinero como seguro.
0

Creo que una cosa que mucha gente está entendiendo es que la máquina no es tan importante como el software de CI. La única vez que la máquina es importante es si necesita diferentes arquitecturas. De lo contrario, obtenga una máquina que coincida con su entorno objetivo. Si está compilando una aplicación de servidor, podría ser conveniente obtener un procesador de 64 bits ya que su aplicación probablemente se ejecutará en un servidor de 64 bits.

Me interesaría más la herramienta que estoy usando para CI. Necesitas algo que funcione rápido, y como la gente de aquí ha señalado, no debería aferrarse a las versiones anteriores a menos que necesites que estén disponibles. Si es así, buscaría algo que permita subir compilaciones y resultados a un servidor separado.

1

RAM: suficiente para ejecutar su herramienta CI (phpUnderControl?) Y el software de soporte que desee para su compilación y pruebas.

Almacenamiento: decida cuántas construcciones antiguas desea conservar en la máquina. En mi experiencia, no es útil mantener muchas, especialmente si tiene un equipo pequeño sin mucho proceso formal para volver a versiones anteriores.

CPU: sin problemas. Cualquier máquina que puedas comprar funcionará.

Así que entre los dos tiendo a favorecer la RAM sobre el espacio de almacenamiento.

Cuestiones relacionadas