【问题标题】:Bad code style deemed failure by Jenkins/checkstyleJenkins/checkstyle 认为错误的代码风格失败
【发布时间】:2013-04-11 16:09:02
【问题描述】:

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

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

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

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

  • 然后我使用this Jenkins plugin 添加一个构建后操作,它会读取 xml 报告并集成到构建结果中

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

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

【问题讨论】:

  • 你是如何构建项目的?您是否使用任何类型的构建工具(ant/maven)?

标签: java playframework jenkins checkstyle


【解决方案1】:

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

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

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

checkstyle <arguments...> || true

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

【讨论】:

  • 我有一段时间没有研究这个问题,但它解决了。谢谢你的回答!
猜你喜欢
  • 1970-01-01
  • 2017-05-20
  • 2015-05-26
  • 2020-07-12
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多