2011-08-19 20 views
9

Tengo un requisito para ejecutar un script en todas las máquinas esclavas disponibles. Principalmente esto es para que obtengan revisiones de ventanas relevantes y nuevas herramientas de terceros antes de compilar.Jenkins/Hudson - Ejecutar script en todos los esclavos

El script que tengo se puede ejecutar varias veces sin efectos secundarios indeseables & es bastante liviano, así que estoy contento de que sea fuerza bruta si es necesario.

¿Alguien puede dar sugerencias sobre cómo asegurarse de que un esclavo esté "actualizado" antes de que funcione en un trabajo?

Estoy satisfecho con las soluciones que son impulsadas por un trabajo en el maestro, o las que pueden inyectar la tarea (automáticamente) antes del procesamiento normal del trabajo esclavo.

Respuesta

3

Mi tienda hace esto como parte del proceso de inicio del esclavo. Tenemos los esclavos configurados para iniciarse mediante la ejecución de un comando en el maestro; este comando ejecuta un script de shell que rsync es el último archivo de herramientas para el esclavo y luego inicia el proceso esclavo. Cuando hay una actualización de herramienta, todo lo que tenemos que hacer es reiniciar los esclavos o el maestro.

Sin embargo, - usamos Linux, pero parece que usted está en Windows, así que no estoy seguro de cuál sería la solución equivalente para usted.

+0

Por el momento, los esclavos son todos VM VirtualBox se ejecuta dentro, así que esto es. Una posibilidad distinta – Ash

2

A su título: use Parameter Plugin o use la configuración de la matriz y liste sus nodos en ella.

Para su pregunta sobre si un esclavo es confiable, lo marcamos con una etiqueta 'testbox' y probamos una variedad de trabajos en él. También podría tener un trabajo implementado para todos y hacer que el trabajo deje la máquina fuera de línea, falla, imagino.

Uso de Windows para los esclavos es muy desagradable para nosotros también :(

+0

Y peor con win7: -D. – whitey04

Cuestiones relacionadas