Jenkins 跳过声明性管道中的阶段

Jenkins 跳过声明性管道中的阶段,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我通过实现下面的代码跳过了jenkins阶段,它工作得很好,但如果我们在BlueOcean中检查,它会显示三个节点,如 签出-->预检查-->post 我想把预检查条件放在构建阶段,若条件满足,它将跳过其余阶段 stages { stage('PreChecks') { when { beforeAgent true allOf { not { ch

我通过实现下面的代码跳过了jenkins阶段,它工作得很好,但如果我们在BlueOcean中检查,它会显示三个节点,如

签出-->预检查-->post

我想把预检查条件放在构建阶段,若条件满足,它将跳过其余阶段

stages {
        stage('PreChecks') {
              when {
                beforeAgent true
                allOf {
                    not { changelog '.*skip' }
                    not { changeRequest author: 'release' }
                }
             }

            stages {
                stage('build') {
                    steps {
                        echo 'I am building '+scm.branches[0].name+' branch.'
                    }
                }

                stage('itest') {
                    steps {
                        echo 'Testing..'
                    }
                }

                stage('deploy') {
                    steps {
                        echo 'Deploying....'
                    }
                }
            }
        }
    }

这是一个老帖子,但对其他进来的人来说。答案是使用“when”

如果希望Blue Ocean直观地显示跳过的阶段,则需要在
when
中使用
返回。正如您所指出的,从功能上讲,您的代码正在实现您的目标?有什么建议吗?或者我必须编写脚本。