我想在一个阶段中放置多个when子句。这是基本示例
def foo = 0
pipeline {
agent any
stages {
stage('Hello') {
when {
expression {foo == 0}
}
steps {
echo 'foo is 0'
}
when {
expression {foo == 1}
}
steps {
echo 'foo is 1'
}
}
}
}
当我尝试此操作时,我收到一个错误
Multiple occurrences of the when section
实际上,我的实际问题有所不同,但是解决此问题可能会解决我的实际问题。预先感谢
答案 0 :(得分:1)
使用伪指令intended看起来会更好:
设计不允许使用多个when
,如果您有一个简单的if逻辑,那么它就会存在:
if
语句:stage { steps { script { if (foo == 0){ echo 'foo is 0' } else if (foo == 1){ echo 'foo is 1' } } } }
如果您想在when
中使用嵌套条件:
2.在这里:
stage { when { anyOf { environment name: 'VAR_1', value: '1' branch 'production' } } steps { <your steps> }