我正在考虑将我们的脚本化管道转移到声明性管道。
我使用when关键字来跳过阶段
stage('test') {
// Only do anything if we are on the master branch
when { branch 'master' }
//...
}
这是可行的,但是跳过的阶段显示为绿色。我希望它在管道概述中显示为灰色。有办法实现这一点吗?
正如您在评论中提到的,我建议您在处理管道时使用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,您的作业的底层管道代码都是相同的。