CruiseControl.Net如何根据不断变化的指标进行构建失败?

时间:2009-07-09 11:23:31

标签: cruisecontrol.net code-coverage code-metrics

我希望CruiseControl.Net在某些代码指标在“错误”方向上变化时失败,即代码覆盖率降低或Gendarme缺陷数增加。 Gendarme指标已在report.xml文件中跟踪(因为它们显示在网络信息中心图表上),代码覆盖率仅在构建状态页面上报告(并保存在构建报告xml中)。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

基本原则是将度量标准得分和日期存储在某处(例如数据库),并每次检查指标与最近存储的值。

您的主要问题是在成功/失败点之前收集新构建的统计信息 - 发布者在构建成功/失败后运行,因此您需要使用顺序任务来收集统计信息。

考虑到这一点,我不确定基于指标实际失败构建是一个好主意,你可能会发现这会让你感到厌烦。

答案 1 :(得分:0)

无论你做什么,它都应该是构建脚本的一部分,而不是CC.Net项目集成。为什么?因为否则开发人员无法在之前检测到这样的构建失败,他们会将代码提交到存储库。您应该努力在构建服务器和开发人员的计算机上运行相同的构建脚本。将构建服务器的一半构建标记为失败没有多大意义。

因此,您必须自己保留这些统计信息的历史记录,然后使用构建脚本将最新统计信息与历史统计信息进行比较。