Jenkins 声明式管道 - 动态设置阶段(存储在变量中)并一一运行

时间:2021-02-12 09:34:56

标签: jenkins jenkins-pipeline jenkins-groovy

我正在尝试创建管道,在其中可以选择并行或顺序运行阶段的选项。

阶段定义如下:

tests = [:] 
for (String fileName: getTestsStages()) {
  tests["${fileName}"] = {
    stage ("Run Stage ${fileName}") {
      println("Hello ${fileName}")
    }
  }

现在我想让并行或顺序运行这些测试成为可能:

if (runParallel) {
  parallel tests
} else {
  tests
}

虽然并行执行按预期工作,但顺序执行不起作用(无法识别阶段)。 我也试过 forEach:

tests.each{ test -> test }

但它也没有识别和运行阶段。

0 个答案:

没有答案