我有一个返回错误代码(1)的常规函数。我不是要使用此返回值来执行某些操作,例如更新github上下文。
我有一个问题,除非在我的manager.build.@result = hudson.model.Result.FAILURE
语句中使用else
,否则该步骤不会显示错误。这样做会将步状态设置为错误,但不会在Blue Ocean中将命令设置为错误。
是否有一种更简单的方法来处理此用例,或者我遗漏了什么?
这是一个简化的示例
def foo() {
def status_code = sh(
script: "echo 1",
returnStatus: true
)
echo "${status_code}" // displays 1
return status_code
}
stage() {
steps {
script {
BUILD = foo()
echo "${BUILD}" // displays 1
if ("${BUILD}" == "0") {
echo "build success"
} else {
echo "build failure" // I reach here
}
}
}
}
答案 0 :(得分:1)
如果要显示错误并将构建标记为失败,则可以使用error
步骤而不是echo
。
stage() {
steps {
script {
BUILD = foo()
echo "${BUILD}" // displays 1
if ("${BUILD}" == "0") {
echo "build success"
} else {
error "build failure" // I reach here
}
}
}
}