Вы пропустили закрытие вызова.Ваш generateStage(name)
метод возвращает закрытие, и это закрытие не вызывается неявно. (он работает с параллельными этапами, потому что метод parallel
ожидает карту, в которой каждое значение записи является замыканием, поэтому он перебирает все записи карты и вызывает собранные замыкания).
Здеськак должен выглядеть ваш пример для добавления непараллельного этапа в конвейер с использованием метода generateStage(name)
:
def foo = ["1", "2", "3"]
def parallelStagesFromMap = foo.collectEntries {
["Build ${it}" : generateStage(it)]
}
def generateStage(bar) {
return {
stage("Build ${bar}") {
echo "Building for ${bar}"
}
}
}
node {
parallel parallelStagesFromMap
generateStage("skipped") // no invocation, stage is skipped
generateStage("nonparallel").call()
}
А вот как выглядит интерфейс Blue Ocean UI после запуска этого примерного конвейера:
![enter image description here](https://i.stack.imgur.com/7VIM0.png)