我被困在如何正确使用Jenkins语法中提出的嵌套条件。
https://jenkins.io/doc/book/pipeline/syntax/#when
这是我目前的阶段:
stage('Build'){
when{
anyOf{
allOf{
expression{env.BRANCH_NAME != 'master'}
expression{env.AUTO_BUILD == true && env.BUILD_OPT == snapshot && env.BRANCH_NAME !=~ /feature.+/}
}
expression{env.AUTO_BUILD == false}
}
}
steps{
echo env.AUTO_BUILD
echo env.BUILD_OPT
echo env.BRANCH_NAME
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,如果我设置env.AUTO_BUILD = false,那么应该执行此阶段,因为它包含在anyOfOR中,如果我的分支是eg develop和,它将执行AUTO_BUILD = true, BUILD_OPT = snapshot。
但是,当我设置时情况并非如此AUTO_BUILD = false。该阶段未执行。我想念什么吗?