Как вызвать поток сборки из потока сборки, передающего разные параметры?
У меня есть 3 задания (назовем это job1,job2,job3), которые все принимают одинаковые параметры. У меня есть поток сборки, вызывающий эти задания, например поток сборки::
build(job1, param1 : "value1", param2 : "value2" )
build(job2, param1 : "value1", param2 : "value2" )
build(job3, param1 : "value1", param2 : "value2" )
Как видно из примера, все задания принимают одинаковые параметры.
И я хочу запустить одну и ту же последовательность в потоке сборки (job1, job2, job3) с разными значениями параметров. Итак, теперь у меня разные потоки сборки для передачи разных значений параметру:
например:
Build flow1---
build(job1, param1 : "value1", param2 : "value2" )
build(job2, param1 : "value1", param2 : "value2" )
build(job3, param1 : "value1", param2 : "value2" )
Build flow2---
build(job1, param1 : "value3", param2 : "value4" )
build(job2, param1 : "value3", param2 : "value4" )
build(job3, param1 : "value3", param2 : "value4" )
Я думаю, что поток сборки как общий и может передавать параметры, например: Пример:::
Build flow
build(job1, param1 : $paramvalue1, param2 : $paramvalue2 )
build(job2, param1 : $paramvalue1, param2 : $paramvalue2 )
build(job3, param1 : $paramvalue1, param2 : $paramvalue2 )
И я хочу вызвать этот поток сборки с другими значениями параметров из другого потока сборки.
Могу ли я сделать это??? Если да,, 1. Как определить и передать параметр в поток?
1 ответ
Вы можете использовать Workflow Plugin для достижения того, что вы хотите.
job1
,job2
а такжеjob3
должны быть параметризованы задания сparam1
а такжеparam2
в качестве параметров (они могут быть вольным стилем или как угодно).Создайте параметризованное задание Workflow с
param1
а такжеparam2
в качестве параметров. Сценарий рабочего процесса будет выглядеть примерно так:build job: 'job1', parameters: [[$class: 'StringParameterValue', name: 'param1', value: param1], [$class: 'StringParameterValue', name: 'param2', value: param2]] build job: 'job2', parameters: [[$class: 'StringParameterValue', name: 'param1', value: param1], [$class: 'StringParameterValue', name: 'param2', value: param2]] build job: 'job3', parameters: [[$class: 'StringParameterValue', name: 'param1', value: param1], [$class: 'StringParameterValue', name: 'param2', value: param2]]
Затем просто запустите задание верхнего уровня, оно спросит вас о значениях параметров, и последующие задания будут запущены (и параметры верхнего уровня пройдены).