【发布时间】:2012-09-23 14:36:29
【问题描述】:
我最近将 Junit 和 Emma 集成到 CruiseControl (CC) 中,因此它可以为每个构建创建漂亮的报告。我想根据 Emma 提供的一些信息(例如覆盖率百分比数字和摘要)查看一些趋势图:
OVERALL STATS SUMMARY
total packages: 54
total executable files: 1001
total classes: 1133
total methods: 11814
total executable lines: 112428
理想情况下,我们可以有一个页面,其中包含(谷歌图表?)每个构建都会更新的图表。我用谷歌搜索了一下,看起来有一个 jenkins 插件可以做到这一点,但我没有看到 CC 有任何类似的东西。我还计划让 Sonar 在 CC 中启动并运行,所以也许 Sonar 会这样做?
我当然可以编写自己的代码来创建趋势图(解析 emma 输出并创建图表页面似乎并不难),但我宁愿不重新发明轮子。
啊——刚刚在Can my build stipulate that my code coverage never get worse? 中发现了这个“另一种方法是使用 Hudson 的 Sonar 插件来保持随时间推移的覆盖趋势” 我可以安装 Hudson 并使用它来代替 CC,但如果我不需要的话,我宁愿不用。
所以 - 我的问题 - 在我的 java 代码(希望在 CruiseControl 中)获得趋势覆盖/统计数据的最简单方法是什么?
【问题讨论】:
-
不想引发宗教战争,我建议尝试一下 Hudson/Jenkins。它们非常容易上手,如果您没有高度定制的 CruiseControl 构建,可能需要不到 30 分钟的时间来设置。
-
是的 - 我在上一份工作中使用了 Hudson/Jenkins。我没有设置它,但确实使用(并且喜欢)它。我只做了几个月的工作,还不愿意(还)说服他们安装 H/J 只是为了获得趋势(这是我的想法,而不是管理层的想法)。如果在 CC 中没有(相对简单的)解决方案,我可能会考虑 H/J。
-
我真的很喜欢 Sonar,正是因为它能够显示趋势图。如果您的构建是基于 Maven 的,您可以在 Cruise Control 中调用 Sonar 插件目标。我明白你为什么不想破坏持续集成的苹果车,但我认为如果你硬着头皮改用 Hudson 或 Jenkins,你的生活会更轻松。
-
我们的构建不是基于 Maven 的。但是......我刚刚在本地安装了 Jenkins,不到 10 分钟我就让它构建了我们的代码,运行了 junit,并构建了我们的战争。詹金斯看起来越来越好。此外,它可以轻松地为我们完成许多其他 cron 类型的工作。我起草了一封电子邮件要发送给 PHB,看看我是否可以让我们搬到 Jenkins :)
标签: java sonarqube cruisecontrol emma