4

我正在使用 Jenkins 来测试一个 Java 软件项目(使用 play web 框架,但这并不重要)。

部分测试是关于代码风格的,为此我使用了 checkstyle。我尝试通过以下方式设置我的工作:

  • 我通过命令行执行 checkstyle,它在 xml 中生成报告

checkstyle -c /usr/share/checkstyle/sun_checks.xml -f xml -r app test -o checkstyle.xml

所以,现在我的问题是:当代码中有任何样式问题时,Jenkins 认为这项工作是失败的。默认情况下,在这种情况下不执行构建后操作。

可以更改这一点,以便生成报告,尽管我仍然认为糟糕的代码样式被认为是失败。我认为这可能是主观的。无论如何,有没有办法改变这种情况?一般来说,Jenkins 如何确定命令 shell 是否失败?

4

1 回答 1

4

如果您查看Maincheckstyle 类 ( link ) 的源代码,您会看到退出代码是发现的样式问题的数量(或在某些特殊情况下为 1)。

这是 Jenkins 所关注的:退出代码 0 表示成功,非零代码表示失败。

我认为您的解决方案是无条件地使退出代码为 0。一个(bash)命令将是

checkstyle <arguments...> || true

更一般地说,您可以编写一个小包装脚本,该脚本将运行 checkstyle,然后以代码 0 退出。

于 2013-04-11T16:23:14.717 回答