Cruise Control .NET时间构建花费在失败状态

时间:2010-01-18 22:44:30

标签: continuous-integration cruisecontrol.net report agile-processes

我的团队的目标是尽量减少构建中断的时间。

我们使用CruiseControl.NET进行持续集成。我想知道的是如何最好地回答以下问题:

“在上一个{timespan}中,{project-name}花费了多少时间处于破损状态?”

例如: “过去1个月,我们的项目花了多少时间处于破碎状态?”

CruiseControl.NET是否有任何高级功能可以在某种类型的报告中或仪表板中的某个位置提供此信息?

或者,您将如何解析xml工件文件以收集此信息?

5 个答案:

答案 0 :(得分:2)

我认为至少有两种方法可以解决这个问题:

  1. 您编写了一个外部工具,用于解析项目的CC.NET的XML日志文件(默认情况下存储在buildlogs子目录中),计算统计信息并编写HTML报告。这可能更容易,但它不会直接与CC.NET集成。
  2. 您编写 CC.NET插件来执行此操作。在这种情况下你需要做一些调查。我的猜测起点是看一些现有插件的源代码。
  3. 以下是有关CCNET插件的一些链接:

答案 1 :(得分:2)

您可以使用统计信息发布者, http://www.cruisecontrolnet.org/projects/ccnet/wiki/Statistics_Publisher 你可以通过项目统计插件显示它们

答案 2 :(得分:1)

快速浏览一下CC文档,我想如果你编写自己的Cruise控制仪表板,你可以使用构建结果的RSS提要,解析所有日期时间和成功/失败状态直到你的阈值,然后总计总数。

至于在仪表板中显示它,我认为Cruise Control有一个可能有用的插件架构http://cruisecontrol.sourceforge.net/main/plugins.html

答案 3 :(得分:0)

所以我的最终解决方案并不理想,但很容易做到并且有效:

我让CC.NET将构建电子邮件发送到电子邮件地址(我们称之为build_emails@build_statistics.com)。然后我使用ruby脚本通过imap获取电子邮件并处理它们以确定构建失败时间。

我没有采用直接解析xml的方法,因为我必须在时间范围内解析每个xml文件以构建时间轴,然后通过时间线进行计算。得到像这样的简单统计数据似乎太复杂了。

答案 4 :(得分:0)

我喜欢cc.net,但在这种情况下,TeamCity就是这样做的。它还有很多其他很棒的统计数据。它不到20个项目是免费的。