提问者:小点点

更好地可视化声明性管道中跳过的阶段


我正在考虑将我们的脚本化管道转移到声明性管道。

我使用when关键字来跳过阶段

stage('test') {       
     // Only do anything if we are on the master branch
     when { branch 'master' }
     //...
}

这是可行的,但是跳过的阶段显示为绿色。我希望它在管道概述中显示为灰色。有办法实现这一点吗?


共2个答案

匿名用户

正如您在评论中提到的,我建议您在处理管道时使用Jenkins Blue Ocean。

它为您的管道项目提供了更现代和用户友好的视图。甚至管道本身也以更方便的方式显示。

匿名用户

如果舞台对您显示为绿色,则它可能仍在实际运行。跳过的阶段在 Jenkins 经典阶段视图中应如下所示。请考虑以下代码示例,该示例有三个阶段,中间阶段使用 when 指令有条件地跳过。

pipeline {
    agent any
    stages {
        stage('Always run 1') {
            steps { echo "hello world" }
        }
        stage('Conditionally run') {
            when {
                expression { return false }
            }
            steps { echo "doesn't get printed" }
        }
        stage("Always run 2") {
            steps { echo "hello world again" }
        }
    }
}

这应该会在您的构建日志中生成以下行

Stage "Conditionally run" skipped due to when conditional

这个问题的另一位回答者提到了《蓝海》,它绝对呈现了一个美丽的舞台观。这是一张在蓝海舞台视图中跳过舞台的图像。请注意,蓝海是一个UI,无论您选择使用哪个UI,您的作业的底层管道代码都是相同的。