Adr*_*enW 3 continuous-integration jenkins jenkins-pipeline jenkins-declarative-pipeline
我想buildDiscarder根据全局变量进行不同的配置。目前我有
options {
buildDiscarder(logRotator(numToKeepStr: '5'))
}
Run Code Online (Sandbox Code Playgroud)
但我正在寻找类似的东西
// BROKEN
options {
if ("${SOME_VAR}" == 'some_val') {
buildDiscarder(logRotator(numToKeepStr: '5'))
} else {
buildDiscarder(logRotator(daysToKeepStr: '7'))
}
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以在 Jenkins 声明式管道中实现这种行为吗?我认为我不能在这里使用script//when块expression,或者至少当我尝试时它不起作用。
尝试这个:
options {
buildDiscarder(logRotator(numToKeepStr: ("${SOME_VAR}" == 'some_val') ? '5' : '7'))
}
Run Code Online (Sandbox Code Playgroud)
如果您想使用不同的参数,只需将“未使用”的参数设置为'-1':
options {
buildDiscarder(logRotator(
numToKeepStr: ("${SOME_VAR}" == 'some_val') ? '5' : '-1',
daysToKeepStr: ("${SOME_VAR}" == 'some_val') ? '-1' : '7'
))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1214 次 |
| 最近记录: |