Как вызвать поток сборки из потока сборки, передающего разные параметры?

У меня есть 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 для достижения того, что вы хотите.

  1. job1, job2 а также job3 должны быть параметризованы задания с param1 а также param2 в качестве параметров (они могут быть вольным стилем или как угодно).
  2. Создайте параметризованное задание 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]]
    
  3. Затем просто запустите задание верхнего уровня, оно спросит вас о значениях параметров, и последующие задания будут запущены (и параметры верхнего уровня пройдены).

Другие вопросы по тегам