首页 > 解决方案 > Jenkins 并行阶段忽略 when 语句

问题描述

我正在为管道的“部署”部分实现一个并行阶段,其中某些环境仅限于 git 标签。

由于未知原因,由于我将“b”阶段放在并行语句中,它一直显示而不是仅限于 when 语句。

关于如何解决它的任何想法?

这是我的 Jenkinsfile 的示例:

    stage('Deploy') {
        parallel {
            stage('a') {
                agent any
                input {
                    message "Deploy to a?"
                }
                steps {
                    echo "a"
                }
            }

            stage('b') {
                agent any
                when {
                    beforeAgent true
                    tag "release/*"
                }
                input {
                    message "Deploy to b?"
                }
                steps {
                    echo "b"
                }
            }
        }
    }

标签: jenkinscontinuous-deployment

解决方案


我的错,看起来问题来自舞台,而不是平行声明。

我通过添加beforeInput true“b”阶段的时间来解决它,该阶段仍在显示但没有步骤。

它看起来也打破了蓝海用户界面,因为它阻止了“a”阶段的输入


推荐阅读