Jenkins条件并行阶段单参数生效时显示队列等待问题排查
Jenkins Blue Ocean并行阶段UI显示异常问题解决
你的流水线代码本身没有逻辑问题,参数定义和when条件的使用都是合规的,能正确根据勾选状态触发对应并行分支。
你遇到的"仅勾选一个参数时,Blue Ocean全程显示'Queued Waiting for run to start',直到流水线结束才展示完成阶段"的现象,是Blue Ocean 1.27.6版本的UI渲染bug,这个问题在Jenkins 2.414.1搭配该版本Blue Ocean时会出现,原因是单分支并行阶段的状态更新没有被UI正确捕获。
解决办法
- 优先升级Blue Ocean版本:将Blue Ocean升级到1.27.7及以上版本,官方在后续版本中修复了这类并行分支UI状态不同步的问题。
- 临时规避方案:如果暂时无法升级,可以在外层的
Deploy阶段添加一个前置步骤,比如:
这个无意义的echo步骤会触发UI的状态更新,避免一直显示排队状态。stage ("Deploy") { steps { echo "Starting deploy stages" } parallel { // 原有SM、LG分支代码不变 } }
复现用流水线代码
pipeline { agent any parameters { booleanParam(name: 'IS_DEPLOY_LG', defaultValue: true, description: 'Deploy to LG') booleanParam(name: 'IS_DEPLOY_SM', defaultValue: true, description: 'Deploy to SM') } stages { stage ("Deploy") { parallel { stage('SM') { when { expression { params.IS_DEPLOY_SM } } steps { script { echo 'Running SM' sleep 15 } } } stage('LG') { when { expression { params.IS_DEPLOY_LG } } steps { script { echo 'Running LG' sleep 15 } } } } } } }
内容的提问来源于stack exchange,提问作者Andy Arismendi
相关产品推荐
相关产品推荐

