Jenkins 控制台输出中显示的错误退出代码 1 代码(我不想看到它)
Error exit code 1 code showing in Jenkins Consiole output ( I do not want to see it )
我在 Jenkins 管道中有一份工作 运行,输出显示错误退出代码 1,因为我正在使用 if 语句在该阶段创建 NOT_BUILT。有没有其他方法看不到工作错误退出代码 1。我不想使用 When 语句,但如果可能仍然使用 IF 语句并有一个空白阶段,但在控制台输出中没有此消息错误退出代码 1。
下面是我的脚本:
if(route53 == 'false' ) {
catchError(buildResult: 'SUCCESS', stageResult: 'NOT_BUILT') {
sh "exit 1"
}
}
else if(route53 == 'true' && all == "Yes" ) {
catchError(buildResult: 'SUCCESS', stageResult: 'NOT_BUILT') {
sh "exit 1"
}
}
管道控制台输出中的结果显示了这一点,舞台图形很好,因为它显示了一个空白舞台,但控制台输出错误代码是我真正想要操作的。
output result
+ exit 1
[Pipeline] }
[Pipeline] }
ERROR: script returned exit code 1
[Pipeline] }
ERROR: script returned exit code 1
[Pipeline] }
ERROR: script returned exit code 1
[Pipeline] }
使用声明性管道时,NOT_BUILT 状态会保留到未执行的阶段,因为其 when
指令被评估为 false
,除了 catchError
解决方法外,没有直接的方法来设置它。 (顺便说一句,您可以使用 error('Your Message')
而不是 exit 1
来控制错误消息)
因此,使用 when
指令是最容易实现的,并且还可以使您的管道更具可读性。如果您坚持使用 if
语句,您仍然可以在带有通用 expression
选项的 when
指令中使用它们,它允许您 运行任意groovy代码,根据需要计算出相关的布尔值。
所以您仍然可以使用您的原始代码并将其更新为 return a Boolean:
stage('Conditional stage') {
when {
expression {
if(route53 == 'false' ) {
return false
}
else if(route53 == 'true' && all == "Yes" ) {
return false
}
return true
}
}
steps {
...
}
}
我在 Jenkins 管道中有一份工作 运行,输出显示错误退出代码 1,因为我正在使用 if 语句在该阶段创建 NOT_BUILT。有没有其他方法看不到工作错误退出代码 1。我不想使用 When 语句,但如果可能仍然使用 IF 语句并有一个空白阶段,但在控制台输出中没有此消息错误退出代码 1。
下面是我的脚本:
if(route53 == 'false' ) {
catchError(buildResult: 'SUCCESS', stageResult: 'NOT_BUILT') {
sh "exit 1"
}
}
else if(route53 == 'true' && all == "Yes" ) {
catchError(buildResult: 'SUCCESS', stageResult: 'NOT_BUILT') {
sh "exit 1"
}
}
管道控制台输出中的结果显示了这一点,舞台图形很好,因为它显示了一个空白舞台,但控制台输出错误代码是我真正想要操作的。
output result
+ exit 1
[Pipeline] }
[Pipeline] }
ERROR: script returned exit code 1
[Pipeline] }
ERROR: script returned exit code 1
[Pipeline] }
ERROR: script returned exit code 1
[Pipeline] }
使用声明性管道时,NOT_BUILT 状态会保留到未执行的阶段,因为其 when
指令被评估为 false
,除了 catchError
解决方法外,没有直接的方法来设置它。 (顺便说一句,您可以使用 error('Your Message')
而不是 exit 1
来控制错误消息)
因此,使用 when
指令是最容易实现的,并且还可以使您的管道更具可读性。如果您坚持使用 if
语句,您仍然可以在带有通用 expression
选项的 when
指令中使用它们,它允许您 运行任意groovy代码,根据需要计算出相关的布尔值。
所以您仍然可以使用您的原始代码并将其更新为 return a Boolean:
stage('Conditional stage') {
when {
expression {
if(route53 == 'false' ) {
return false
}
else if(route53 == 'true' && all == "Yes" ) {
return false
}
return true
}
}
steps {
...
}
}