tutorial significado informatica historia hudson build-automation jenkins

hudson - significado - jenkins tutorial



Hacer que el trabajo de Jenkins(Hudson) dependa de otro trabajo (5)

¿Has probado el complemento del disparador parametrizado ?

Puede usarlo como un paso de compilación y marcar la casilla de "Bloquear hasta que los proyectos activados finalicen sus compilaciones". Eso debería ser exactamente lo que estás buscando.

Tengo dos trabajos:

  1. Subir
  2. Launch-instance

Quiero hacer que Launch-instance dependa de la otra, de modo que desencadenar Launch-instance hace que Upload se ejecute primero.

¿Puedo lograrlo usando las características incorporadas de Jenkins o con un complemento?

Tenga en cuenta que no quiero que la Carga active siempre Launch-instance , que es lo que haría la opción "Crear después de que se hayan construido otros proyectos" en Launch-instance . Lo que quiero es más análogo a cómo funciona el atributo de atributos en Ant .


¿Qué pasa con la creación de Subida llamando a su URL de compilación con wget como el primer paso de compilación? A continuación, agregue los pasos de creación de carne de Launch-instance .

O para un enfoque más elegante, quizás use la API de acceso remoto .


Aha, lo encontré! Aquí estoy construyendo sobre la respuesta de miki, que mostró el camino, pero no lo resolvió completamente para mí.

Como se dice en el artículo en español sobre el lanzamiento de compilaciones de Hudson a las que se vinculó a partir de los comentarios de la página de API de acceso remoto de Hudson a los que miki enlazó:

En la sección " Build Triggers " [...] marcamos la opción "El disparador se construye de forma remota (por ejemplo, a partir de scripts) ". Al marcar esta opción, aparece el cuadro de texto "Token de autenticación". Aquí pondremos el nombre del token de autenticación.

texto alternativo http://www.adictosaltrabajo.com/tutoriales/hudsonSubversionPush/hudsonSubversionPush-01.png

(Parece que los beneficios de saber español comienzan a materializarse ... :-)

Entonces, resulta que Hudson proporciona una práctica opción incorporada para activar las construcciones de forma remota. En la sección Disparadores de compilación (del trabajo de carga en mi caso) puede habilitar compilaciones remotas y establecer un token de autenticación (consulte la captura de pantalla anterior). Luego puede iniciar una compilación accediendo a una URL determinada que contiene ese token. En mi caso, el primer paso de compilación de Launch-instance es similar a:

wget http://[hudson-url]/job/Upload/build?token=TEST sleep 10

Esto funciona incluso si las versiones anónimas están deshabilitadas y simplemente intentar acceder a la URL de compilación arrojaría "403 Prohibido".


Ejecutar trabajo dependiente a través de wget no es una solución general. Dado que los trabajos se ejecutan de forma sincronizada, su trabajo de lanzamiento no se bloqueará y esperará a que se complete el trabajo de carga. usar sleep es solo un truco sucio y no es una opción para la mayoría de los casos ... En mi humilde opinión, la mejor solución es usar: http://wiki.jenkins-ci.org/display/JENKINS/Join+Plugin


Puede usar las dependencias aguas abajo o aguas arriba. Debería usar "Disparadores de compilación" -> Compilar después de que se hayan creado otros proyectos y / o acciones posteriores a la compilación en la parte de configuración del proyecto.