2012-06-22 15 views
7

Tengo 4 nodos y 2 trabajos. Cualquier nodo puede ejecutar 2 trabajos al mismo tiempo y cualquier trabajo se puede ejecutar al mismo tiempo. Quiero poder restringir la ejecución simultánea del mismo trabajo en la misma máquina. Por ejemplo:Jenkins para no permitir que el mismo trabajo se ejecute al mismo tiempo en el mismo nodo?

Empleo: J1 y J2 nodos: N1, N2, N3 y N4

puedo correr J1 y J2 en el mismo nodo, al mismo tiempo. Puedo ejecutar J1 en N1 y N3 al mismo tiempo. PERO no quiero ejecutar J1 y otra compilación de J1 en el mismo nodo al mismo tiempo.

He intentado con "Bloqueos y cierres", "Ejecución exclusiva de Jenkins", complementos "Complemento de exclusión", y estos funcionarán bien cuando intente coordinar trabajos diferentes. Pero mi caso es tratar de administrar diferentes instancias de compilación del mismo trabajo.

+0

Se le olvidó mencionar que está utilizando el plugin el 'acelerador' ... – Gonen

Respuesta

2

La última vez que he comprobado, sólo sola instancia de cada puesto de trabajo se puede ejecutar en una sola vez, es decir:

Si pulsa la tecla [construcción] dos veces, la primera instancia del trabajo será ejecutado, y solo después de que se termine - el próximo comenzará.

¿Pudiste ejecutar Job1-Build1 y J1-Build2 al mismo tiempo?

+1

Gonen, gracias por la respuesta. Sí Puedo ejecutar J1-Build1 y J1-Build2 al mismo tiempo. De hecho, todos los trabajos se ejecutarán simultáneamente sin ningún problema. Mi requisito es evitar que el mismo trabajo (es decir, J1) se ejecute en el mismo nodo: Quiero evitar este tipo de escenario: Ejecutar J1-Node1 y otra instancia de J1-node1. mi requisito: Mientras una instancia de J1 ya se está ejecutando en el nodo 1 (es decir, J1-Node1), inicie la instancia de mew de J1 en un nodo diferente (es decir, J1-Node2) y no en Node1. Si Nod2 también está ejecutando una instancia de J1, ¡entonces espera! Gracias Marek –

+0

Marek, puede ir al otro extremo, evitar que * cualquier * instancia de J1 se inicie hasta que todos los demás hayan finalizado, por lo tanto, J1-build2 no se iniciará hasta que J1-build1 esté listo. Debe utilizar la opción '** Bloquear compilación cuando el proyecto en sentido descendente está creando **' (en la sección * Opciones de proyecto avanzadas *). – Gonen

12

Probar Throttle Concurrent Builds Plugin. Permite acelerar el número de compilaciones simultáneas de un proyecto que se ejecuta por nodo o globalmente. En su caso se debe establecer:

  • Máximo Total concurrente Construye: 0 (= sin límite)
  • máxima concurrente Construye por nodo: 1
+6

¡Gracias por especificar que 0 = ilimitado! Me he equivocado al preguntarme por qué especificar 0 como las compilaciones simultáneas totales máximas seguiría generando construcciones concurrentes, es decir, pensando que 0 = 0. – linguinee

Cuestiones relacionadas