porque funciona errors errores error corregir como aparece concurrency hudson parallel-processing jenkins

concurrency - funciona - ¿Cómo iniciar trabajos idénticos con diferentes parámetros en ejecución paralela?



no me aparece plugins en sketchup (7)

Tengo un trabajo de compilación y unos parámetros de trabajo de prueba.

Quiero estar después del trabajo de compilación, ejecutar simultáneamente el trabajo de prueba con un parámetro y el mismo trabajo de prueba con diferentes parámetros en ejecución paralela.

build job | / / test job test job with one params with other params | |

¿Cómo lograr esto y si es posible hacerlo sin tener que escribir su propio complemento?

¡Gracias!


¿Podría por favor decir un poco más por qué necesita que sus trabajos de prueba se ejecuten simultáneamente?

Utilizo la prueba que necesita dividir y ejecutar simultáneamente, pero uso un solo trabajo de Jenkins / Hudson que tiene un peso> 1 (ver Complemento de trabajo pesado ).


Cuando cree su trabajo de prueba, créelo como un "Proyecto de configuración múltiple de compilación" Al configurar el trabajo, seleccione "Matriz de configuración" y luego "Eje definido por el usuario"

Puede usar el nombre de este eje como parámetro en su trabajo. Los parámetros dados se iniciarán simultáneamente en diferentes trabajos. (si hay suficientes ejecutores disponibles)


Repitiendo la respuesta de @Soo Wei Tan, encontré que los siguientes trabajos funcionan bien.

  • Plugin de disparo parametrizado
  • Elija "Fábrica de parámetros"
  • Elija "Para cada archivo de propiedades, invoque una compilación"

Luego, en un shell, escriba una serie de archivos de propiedades, y el Complemento de Disparo se encargará del resto.

Incluso puede combinar esto con un trabajo de estilo matricial en el nivel superior de manera interesante. Por ejemplo, disparar en el eje definido por el usuario, realizar un seguimiento de todo con una cuadrícula. Realmente un enfoque bastante flexible, aunque un poco oculto.


Suponiendo que conoce los parámetros cuando está terminando su trabajo de compilación, puede usar el complemento de construcción de desencadenador parametrizado para desencadenar los trabajos posteriores con diferentes parámetros.


Tenía el mismo requisito y encontré que el complemento de activación parametrizado no era lo suficientemente flexible para pasar diferentes parámetros a diferentes (o los mismos) trabajos en paralelo. Sí, puede usar un Parameter Factory con archivos de propiedades, pero eso significaría agregar nuevos archivos de propiedades a mi control de versión con el único fin de configurar Jenkins. Un proyecto de configuración múltiple con una matriz de configuración también parecía excesivamente complicado.

La mejor y más sencilla solución para mí fue el complemento Multijob , que tiene el concepto de Fases. Un MultiJob puede tener múltiples fases. Las fases se ejecutan secuencialmente y los trabajos dentro de una fase se ejecutarán simultáneamente (en paralelo).

Después de instalar el complemento MultiJob, al crear un nuevo elemento de Jenkins, seleccione Proyecto MultiJob . A continuación, puede crear una o más fases. Cada trabajo dentro de una fase tiene sus propios parámetros, haga clic en Avanzado ... -> Agregar parámetros

También es muy fácil configurar lo que debería suceder si falla un trabajo en particular, si todo el MultiJob continúa o falla, etc., vea la fase Finalizar la fase: y la condición de Continuación a la siguiente fase cuando los estados de los trabajos son: configuración.

Para mí esto fue mucho más intuitivo de usar que el complemento de activación parametrizada o un proyecto de configuración múltiple, y no requirió ninguna configuración adicional fuera de Jenkins.


Tengo un caso de uso ligeramente diferente. Tenemos trabajos de prueba que se ejecutan en contra de nuestra construcción principal durante el ciclo de desarrollo. Hacia el final del ciclo; creamos una versión candidata de lanzamiento y ejecutamos las mismas pruebas contra eso. También queremos seguir probando la construcción principal.

Main Build Release Build / / | same set of tests

Puedo crear trabajos duplicados con solo nombres diferentes para manejar esto. Pero tiene que haber una forma más elegante / más simple.