2012-09-14 24 views
5

Tengo alrededor de 20 trabajos que usan parámetros comunes (usuario, contraseña), y algunas veces la contraseña caduca ... Así que tengo que cambiarla en todos los trabajos, lo que consume mucho tiempo (y propenso a errores, puedo olvidar uno).Hudson/Jenkins: comparta los parámetros entre varios trabajos

pensé en:

  • utilizando un tipo de archivo de propiedades de la magia si lo que existe para tener directamente líneas como clave, valor añadido al trabajo Parámetros
  • añadiendo el mismo tipo de CLAVE, par de valores directamente en el interior build.xml, pero ¿dónde? Y es realmente feo ... ¿Tal vez con un XML dedicado incrustado en el build.xml?
  • llamar a un trabajo esclavo que (¿cómo?) Empujar hacia arriba al padre uno de los valores deseados ...

Como se puede ver sólo estoy empezando en Hudson/Jenkins (estoy usando Jenkins 1.424.2.2), gracias por su ayuda!

EDIT: no soy administrador de la instancia Jenkins, por lo que no puedo tener acceso a las propiedades globales ...

Respuesta

0

que finalmente sucedido por:

  • mantener credenciales cifradas en una página web
  • recuperarlos en Hudson gracias a un script de shell (wget), descifrarlos, y la creación de un archivo build.properties en el espacio de trabajo con líneas name=value (en mi caso ssh.password=...)

Esto funciona, porque los pasos de compilación Ant detectan este archivo y pasan las variables dentro de su contexto. Gracias a eso pude centralizar mis credenciales.

1

puedo pensar en dos enfoques:

  • Uso Global propiedades, que se encuentra en Administrar Jenkins ->Configurar el sistema. Aquí puede definir variables de entorno que deberían estar disponibles para todos los trabajos.

  • Escriba un pequeño script que descargue, modifique y publique la configuración del trabajo: http://[jenkinshost]/job/[jobname]/config.xml.

Usted puede leer acerca de las capacidades de la API, en http://[jenkinshost]/job/[jobname]/api, esto es lo que dice acerca de la lectura y el cambio de config.xml:

Fetch/actualización config.xml

Para programación obtener config.xml, pulse [http://[jenkinshost]/job/[jobname]/config.xml]. También puede PUBLICAR un config.xml actualizado en la misma URL para actualizar mediante programación la configuración de un trabajo.

+0

Como dije antes, no soy administrador, así que no puedo acceder a las propiedades globales; pero la segunda solución parece prometedora, veamos si puedo hacer lo que quiero jugando con ella ... – Emmanuel

6

Vaya a su Jenkins casa y navegar:

  1. Manejo de Jenkins>
  2. Configuración del sistema>
  3. propiedades globales>
  4. Las variables de entorno>....
+0

Buen punto: como acabo de editar, no soy administrador, así que no puedo usar propiedades globales (y administradores) no me deja jugar con ellos, seguro). – Emmanuel

+1

:(se perdió la edición de prisa. De todos modos, el segundo enfoque de Anders parece ser el camino a seguir en este momento; si no, podemos llamar a @Koshuke :) –

+0

Oh, no te lo perdiste, acabo de agregarlo porque hablaste de las propiedades globales: -) – Emmanuel

Cuestiones relacionadas