You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Pipeline中两个anyOf条件块如何配置AND逻辑实现同时满足才执行任务

Jenkins Pipeline 多条件组AND组合解决方案

你需要的效果可以通过显式用allOf条件组合器包裹两个anyOf块实现,也可以直接使用when块的默认隐式AND规则,以下是具体说明:

最优写法(可读性更高)

显式用allOf声明逻辑与关系,后续维护时无需记忆隐式规则,代码语义更明确:

stage("Spring App") {
  when {
    allOf {
      // 第一个条件组:任意满足即可
      anyOf {
        environment name: 'key1', value: 'true'
        environment name: 'key2', value: 'true'
      }
      // 第二个条件组:任意满足即可
      anyOf {
        environment name: 'key3', value: 'string1'
        environment name: 'key4', value: 'string2'
        environment name: 'key5', value: 'string3'
      }
    }
  }
  steps {
    // 此处写你的阶段执行逻辑
  }
}

逻辑说明

  • allOf为逻辑与组合器:要求内部所有子条件全部返回true时,整体条件才成立
  • anyOf为逻辑或组合器:只要内部任意一个子条件返回true,该条件组就成立
  • 组合后即可实现:第一个条件组成立 且 第二个条件组成立时,才触发当前stage执行

补充说明

你当前的原有代码逻辑上已经符合需求,Jenkins声明式Pipeline的when块下,多个并列条件默认就是隐式的AND关系,只是显式写allOf的语义更清晰,更推荐使用。

内容的提问来源于stack exchange,提问作者selin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:36:04