我正在使用Jenkins来测试一个Java软件项目(使用play web框架,但这并不重要)。
部分测试是关于代码风格,我使用checkstyle。我试着以下列方式安排工作:
checkstyle -c /usr/share/checkstyle/sun_checks.xml -f xml -r app test -o checkstyle.xml
所以,现在我的问题如下:当代码中存在任何样式问题时,Jenkins认为这项工作失败了。默认情况下,在这种情况下不执行构建后操作。
可以改变这一点,尽管如此仍然会生成报告,但仍然会让我觉得糟糕的代码风格被视为失败。我认为这可能是主观的。无论如何,有没有办法改变这个?而且一般来说,Jenkins如何确定命令shell是否失败?
答案 0 :(得分:4)
如果查看Main
类检查样式(link)的源代码,您会看到退出代码是找到的样式问题的数量(或者在某些特殊情况下为1) )。
Jenkins正在关注这一点:退出代码0表示成功,非零代码表示失败。
我认为您的解决方案是无条件地退出代码为0。对此的(bash)命令是
checkstyle <arguments...> || true
更一般地说,您可以编写一个运行checkstyle的小包装脚本,然后以代码0退出。