我将Jenkins CI与 Job DSL 和 Multijob 插件一起使用。我正在尝试使用 DSL 定义一个包含条件步骤的参数化 Multijob,但我无法找出正确的语法。我的代码:
multiJob("MyJob")
{
parameters {
stringParam("PLATFORM", "Win32")
stringParam("CONFIGURATION", "Release")
}
steps
{
phase("Build") {
job("BuildJob") { sameNode() }
}
conditionalSteps {
condition {
and { stringsMatch("${PLATFORM}", "Win32", false) } { stringsMatch("${CONFIGURATION}", "Release", false) }
}
runner('Fail')
steps {
phase("Prepare installer") {
job("PrepareInstallerJob") { sameNode() }
}
}
}
}
}
运行这个我得到以下错误:
Processing DSL script My.groovy
ERROR: (My.groovy, line 117) No such property: PLATFORM for class: javaposse.jobdsl.dsl.helpers.step.RunConditionContext
Finished: FAILURE
当第 117 行是包含“and”条件的行时。
什么是正确的语法?为什么它不解析 PLATFORM 参数?