我正在考虑将我们的脚本化管道移动到声明性管道。
我使用when关键字跳过阶段
stage('test') {
// Only do anything if we are on the master branch
when { branch 'master' }
//...
}
这样可行,但跳过的舞台显示为绿色。如果它在管道概述中显示为灰色,我更愿意。有没有办法实现这个目标?
答案 0 :(得分:0)
正如您在评论中提到的,我建议您在使用管道时使用Jenkins Blue Ocean。
它为您的管道项目提供了更现代和用户友好的视图。甚至管道本身也以更方便的方式显示。
答案 1 :(得分:0)
如果舞台对您来说是绿色的,则它可能实际上仍在运行。跳过的阶段should look like this in the Jenkins classic stage view。考虑下面的代码示例,该示例分为三个阶段,其中的中间阶段被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
这个问题的另一个回答者提到了《蓝色海洋》,它肯定可以很好地展示舞台视图。 Here is an image of how a skipped stage looks in the Blue Ocean stage view。请注意,Blue Ocean是一个UI,无论选择使用哪个UI,您作业的基础管道代码都将相同。