Конвейер Jenkins выполняет несколько FreeStyleProjects параллельно

Я пытаюсь использовать Jenkins 2.0 с плагином конвейера. Как я могу выполнить несколько задач (FreeStyleProjects) параллельно (через замыкания).

Я попробовал 2 примера, и они оба потерпели неудачу. Как я могу достичь этой функциональности?

A. Пример конвейерного скрипта;

def taskNames = [
    "Test FSP 1",
    "Test FSP 2"
]

buildClosures = [:]
for (taskName in taskNames) {
    echo "iterating... taskName is: ${taskName}"
    def curClosure = {
        echo "inside curClosure... taskName is: ${taskName}"
        build(taskName)
    }
    buildClosures.put(taskName, curClosure)
}

parallel(buildClosures)

И это вывод (последний элемент создается дважды, первая переменная переопределяется);

Started by user Cagri Celebi
[Pipeline] echo
iterating... taskName is: Test FSP 1
[Pipeline] echo
iterating... taskName is: Test FSP 2
[Pipeline] Execute in parallel : Start
[Pipeline] [Test FSP 1] parallel { (Branch: Test FSP 1)
[Pipeline] [Test FSP 2] parallel { (Branch: Test FSP 2)
[Pipeline] [Test FSP 1] echo
[Test FSP 1] inside curClosure... taskName is: Test FSP 2
[Pipeline] [Test FSP 1] build (Building Test FSP 2)
[Test FSP 1] Scheduling project: Test FSP 2
[Pipeline] [Test FSP 2] echo
[Test FSP 2] inside curClosure... taskName is: Test FSP 2
[Pipeline] [Test FSP 2] build (Building Test FSP 2)
[Test FSP 2] Scheduling project: Test FSP 2

[Test FSP 1] Starting building: Test FSP 2 #13
[Pipeline] } //parallel
[Pipeline] } //parallel
[Pipeline] Execute in parallel : End
[Pipeline] End of Pipeline
Finished: SUCCESS

Б. Это тоже не помогает;

subjobIteration = [:]
["Test FSP 1","Test FSP 2"].each{ jobName ->
  subjobIteration.put(jobName,{build( jobName )})
}
parallel( subjobIteration )

Вывод содержит только первый элемент;

Started by user Cagri Celebi
[Pipeline] Execute in parallel : Start
[Pipeline] [Test FSP 1] parallel { (Branch: Test FSP 1)
[Pipeline] [Test FSP 1] build (Building Test FSP 1)
[Test FSP 1] Scheduling project: Test FSP 1

[Test FSP 1] Starting building: Test FSP 1 #3
[Pipeline] } //parallel
[Pipeline] Execute in parallel : End
[Pipeline] End of Pipeline
Finished: SUCCESS

0 ответов

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