102 votes

Jenkins - passer des variables entre les emplois?

J'ai deux emplois dans jenkins, qui ont besoin de la même paramètre.

Comment puis-je exécuter la première tâche avec un paramètre de sorte que quand il déclenche le second, le même paramètre est utilisé?

73voto

Łukasz Rżanek Points 2891

Vous pouvez utiliser Paramétrée Déclencher Plugin qui vous permettra de passer des paramètres à partir d'une tâche à l'autre.

11voto

Offirmo Points 3374

(pour les autres googlers)

Si vous êtes à la construction d'une grave pipeline avec la Construire des Flux de Plugin, vous pouvez passer des paramètres entre les emplois avec la LIS comme ceci :

En supposant qu'un disponibles paramètre de chaîne "CVS_TAG", afin de les transmettre à d'autres emplois :

build("pipeline_begin", CVS_TAG: params['CVS_TAG'])
parallel (
   // will be scheduled in parallel.
   { build("pipeline_static_analysis", CVS_TAG: params['CVS_TAG']) },
   { build("pipeline_nonreg", CVS_TAG: params['CVS_TAG']) }
)
// will be triggered after previous jobs complete
build("pipeline_end", CVS_TAG: params['CVS_TAG'])

Astuce pour afficher les variables disponibles / params :

// output values
out.println '------------------------------------'
out.println 'Triggered Parameters Map:'
out.println params
out.println '------------------------------------'
out.println 'Build Object Properties:'
build.properties.each { out.println "$it.key -> $it.value" }
out.println '------------------------------------'

1voto

CAMOBAP Points 1040

Vous pouvez utiliser Hudson Groovy builder pour ce faire.

Premier Travail dans le pipeline

enter image description here

Deuxième emploi dans le pipeline

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X