我的团队的目标是将构建破坏的时间最小化。
我们使用CruiseControl.NET进行持续集成。我想了解最佳方法来回答以下问题:
"在过去的{timespan}中,{project-name}在破坏状态下花费了多少时间?"
例如: "在过去的1个月中,我们的项目在破坏状态下花费了多少时间?"
CruiseControl.NET是否有任何高级功能可以使此信息在某种类型的报告或仪表板中可用?
或者,您如何解析xml工件文件以获取此信息?
我的团队的目标是将构建破坏的时间最小化。
我们使用CruiseControl.NET进行持续集成。我想了解最佳方法来回答以下问题:
"在过去的{timespan}中,{project-name}在破坏状态下花费了多少时间?"
例如: "在过去的1个月中,我们的项目在破坏状态下花费了多少时间?"
CruiseControl.NET是否有任何高级功能可以使此信息在某种类型的报告或仪表板中可用?
或者,您如何解析xml工件文件以获取此信息?
以下是关于CCNET插件的一些链接:
浏览了一下CC文档,我想如果你要编写自己的Cruise Control仪表板,你可以使用构建结果的RSS源,解析所有日期时间和成功/失败状态,然后将总数汇总到你的阈值。
至于在仪表板中显示它,我认为Cruise Control有一个插件架构,可能会有所帮助http://cruisecontrol.sourceforge.net/main/plugins.html
所以我的最终解决方案并不理想,但它很容易实现并且有效:
我让CC.NET将构建邮件发送到一个电子邮件地址(我们称之为build_emails@build_statistics.com)。然后我使用一个Ruby脚本通过imap获取邮件并处理它们以确定我们的构建失败时间。
我没有直接解析xml文件,因为我必须解析时间范围内的每个xml文件来建立时间线,然后再查看时间线进行计算。这似乎对于获取这样一个简单的统计数据来说太复杂了。
我喜欢cc.net,但在这种情况下,TeamCity可以为您完成此操作。它还有许多其他很棒的统计数据。对于少于20个项目,它是免费的。