我正在寻找退出声明性Jenkins管道的最简洁方法, 成功的状态。 虽然使用error step退出错误非常简洁,但我无法找到与成功代码一起退出的相同方法。 E.G:
stage('Should Continue?') {
when {
expression {skipBuild == true }
}
steps {
echo ("Skiped Build")
setBuildStatus("Build complete", "SUCCESS");
// here how can I abort with sucess code?
// Error Would have been:
// error("Error Message")
}
}
stage('Build') {
steps {
echo "my build..."
}
}
对于脚本化构建的示例,我可以使用以下代码实现它:
if (shouldSkip == true) {
echo ("'ci skip' spotted in all git commits. Aborting.")
currentBuild.result = 'SUCCESS'
return
}
虽然我知道能够在我的声明性pipieline中添加脚本step,但我希望找到一种更清洁的方式。
另一种方法可能是抛出一个错误并将其捕获到某个地方,但同样又非常混乱。
有更清洁的方式吗?
答案 0 :(得分:2)
对我有用的解决方案是创建一个带有子阶段的阶段,并将支票置于顶层阶段。
stage('Run if expression ') {
when {
expression { skipBuild != true }
}
stages {
stage('Hello') {
steps {
echo "Hello there"
}
}
}
}
因此,我将所有要继续的阶段都放在了这个阶段中。以及其他所有内容。在您的情况下,您可以将所有构建阶段都放在带有check的阶段中。