jenkins - Jenkinsfile 管道,返回警告但不失败
问题描述
有没有办法在声明性管道步骤中不失败,而是显示警告?目前我正在通过添加|| exit 0
到 sh 命令行的末尾来规避它,所以它总是可以退出。
当前示例:
sh 'vendor/bin/phpcs --report=checkstyle --report-file=build/checkstyle.xml --standard=phpcs.xml . || exit 0'
我觉得应该有更好的方法来做到这一点?您如何控制返回的结果,以便用户在不挖掘结果日志但又不会阻塞/失败的情况下知道?
谢谢
编辑:
所以我已经做到了能够将其标记为不稳定的。在 Blue Ocean 中,它只是将每个阶段标记为不稳定,您必须深入挖掘才能找到它。我是否正在尝试做不可能的事情(但感觉我应该能够做到)?
此外,它现在只是在 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 显示一些有用的信息。
解决方案
仅供参考:JENKINS-39203已在此期间得到解决。
我们不使用设置currentBuild.result = 'UNSTABLE'
,而是使用相应的基本管道步骤unstable
,它也需要一条消息:
unstable("There are Checkstyle issues")
推荐阅读
- mysql - 将嵌套选择转换为加入
- laravel - 如何从 Laravel Controller 中的 foreach lop 中获取总量
- linq - C# Linq to entity (EF Core) create SQL statement "like '1 %'" : Startswith 在传递变量时不起作用
- python - 使用 beautifulsoup 将输出保存到数据框中
- algorithm - Min Cost Max Flow 算法,尽可能多地关注所有边缘上的流量均等分布
- javascript - TypeError:无法读取未定义的属性(读取“集合”)-Vuejs 和 Firebase
- git - Git - 将非存储库项目与存储库进行比较
- netcdf - NetCDF - 'phony_dim_0'、'phony_dim_1'、'phony_dim_2' 是什么?
- facebook - Facebook Graph API 错误:用户必须在白名单中。代码:3
- transactions - Coinbase API 中汇款端点的 Idem 参数未按预期运行