有没有办法不通过声明性管道步骤失败但显示警告?目前我通过将|| exit 0
添加到sh命令行的末尾来绕过它,所以它总是退出。
目前的例子:
sh 'vendor/bin/phpcs --report=checkstyle --report-file=build/checkstyle.xml --standard=phpcs.xml . || exit 0'
我觉得应该有更好的方法吗?如何控制返回的结果,以便用户知道如何挖掘结果日志,但也没有阻止/失败?
谢谢
编辑:
所以我已经做到这一点,能够将其标记为不稳定。在蓝色海洋中,它只是标志着每个阶段都不稳定,你必须深入挖掘才能找到它。我试图做不可能的事情(但感觉我应该能够做到这一点)?
此外,它现在只是在Blue Sky的标题中将其显示为“Shell脚本”,而不是显示正在运行的命令,因此您甚至不知道它正在做什么而不扩展它们。
script {
def RESULT = sh returnStatus: true, script: 'vendor/bin/phpcs --report=checkstyle --report-file=build/checkstyle.xml --standard=phpcs.xml .'
if ( RESULT != 0 ) {
currentBuild.result = 'UNSTABLE'
}
}
重新标记黄色/不稳定:刚刚发现这解释了我不会生气。几年的讨论并没有进展:( https://issues.jenkins-ci.org/browse/JENKINS-39203
现在在Blue Ocean视图中显示“Shell脚本”:我将继续播放更多内容,看看我是否更好地使用|| exit 0
或脚本块并使用echo显示一些有用的信息
答案 0 :(得分:1)
您可以在http://jenkins-url/pipeline-syntax/
下找到jenkins本身任何步骤的选项。 sh with returnStatus:true可用于实现目标。
sh returnStatus: true, script: 'ls -2' # returnStatus: true, just set $? but not fail the execution
答案 1 :(得分:0)
仅供参考:JENKINS-39203在此期间已解决。
我们没有设置currentBuild.result = 'UNSTABLE'
,而是使用了相应的基本管道步骤unstable
,该步骤还显示一条消息:
unstable("There are Checkstyle issues")