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

Jenkins声明式Pipeline如何实现指定阶段仅在Restart from stage时运行

解决方案

Jenkins 内置了专门的环境变量满足这个判断需求,不需要额外安装第三方插件。
你可以直接使用BUILD_RESTARTED_FROM_STAGE环境变量:当用户点击「从阶段重启」触发构建时,该变量会被赋值为用户选择的重启阶段的准确名称,常规首次构建时该变量值为空。

你给出的代码可以修改为如下形式:

stage('Test') {
    when {
        expression {
            // 判断本次构建是否是从当前Test阶段重启触发的
            env.BUILD_RESTARTED_FROM_STAGE == 'Test'
         }
    }
    steps {
        sh 'echo 1'
    }
}

补充说明

  • 阶段名称匹配是严格校验的,大小写、空格、特殊字符都需要完全一致
  • 如果你的需求是「只要是从任意阶段重启就执行当前阶段」,可以把判断条件改为env.BUILD_RESTARTED_FROM_STAGE != null
  • 该变量由Pipeline: Job插件内置提供,2.30及以上版本的插件均支持,主流Jenkins版本默认都包含符合要求的插件版本

内容的提问来源于stack exchange,提问作者Brahim Ben Amira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:45:07