Continuous integration 巡航控制.NET构建时间处于失败状态

Continuous integration 巡航控制.NET构建时间处于失败状态,continuous-integration,cruisecontrol.net,report,agile-processes,Continuous Integration,Cruisecontrol.net,Report,Agile Processes,我的团队有一个目标,就是尽量减少构建中断的时间 我们使用CruiseControl.NET进行持续集成。我想了解的是如何最好地回答以下问题: “在过去的{timespan}中,{project name}在中断状态下花费了多少时间?” 例如: “在过去1个月内,我们的项目在中断状态下花费了多少时间?” CruiseControl.NET是否有任何高级功能可以帮助在某种类型的报告或仪表板中的某个位置提供这些信息 或者,您将如何解析xml工件文件来收集这些信息?快速查看了CC文档后,我想如果您正在编

我的团队有一个目标,就是尽量减少构建中断的时间

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

“在过去的{timespan}中,{project name}在中断状态下花费了多少时间?”

例如: “在过去1个月内,我们的项目在中断状态下花费了多少时间?”

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


或者,您将如何解析xml工件文件来收集这些信息?

快速查看了CC文档后,我想如果您正在编写自己的巡航控制仪表板,您可以使用构建结果的RSS提要,解析所有日期时间和成功/失败状态,直至达到阈值,然后把总数加起来


至于在仪表板上显示它,我认为巡航控制系统有一个插件架构,这可能会有帮助

我认为至少有两种方法可以做到这一点:

  • 您可以编写一个外部工具来解析项目的CC.NET XML日志文件(默认情况下存储在buildlogs子目录中),计算统计数据并编写HTML报告。这可能更容易做到,但它不会直接与CC.NET集成
  • 为此,您需要编写一个CC.NET插件。在这种情况下,你需要做一些调查。我想首先应该看看一些现有插件的源代码
  • 以下是一些关于CCNET插件的链接:

    • -我自己的插件,如果您想了解如何实现插件,这很有用

    您可以使用统计数据发布程序,
    您可以通过project statistics插件来显示它们,因此我的最终解决方案并不理想,但它很容易做到,而且很有效:

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


    我没有直接解析xml,因为我必须解析时间范围内的每个xml文件以建立时间线,然后遍历时间线进行计算。要得到这样一个简单的统计数据似乎太复杂了。

    我喜欢cc.net,但在这种情况下,TeamCity只是为您做这件事。它也有很多其他伟大的统计数据。它对不到20个项目是免费的。

    “我的团队有一个目标,就是最大限度地减少我们的构建被破坏的时间。”您为什么需要它?请描述您可以使用此信息的场景。如果你有10小时处于损坏状态或3天,它会给你什么?Restuta:对于我们的团队来说,一个损坏的构建代表一个bug。我们在系统的各个级别都有一套自动化测试。当其中一个测试由于代码更改而失败时,这意味着我们添加了一个bug。错误是不可容忍的,我们希望强制将修复它们作为一个高度优先事项。拥有统计数据只是量化我们在实现快速处理和修复bug的目标方面的表现的一种手段。此外,我们使用CruiseControl.NET部署我们的开发站点,所以只要构建被破坏,新的代码更改就不会反映在我们的开发站点上。我们希望使我们的开发站点保持最新。与在该状态下花费的时间相比,中断构建计数是一个更好的度量。我认为这是一个有效而有趣的问题。这类指标很有趣,尤其是如果轻描淡写的话(即,人们希望改进这一指标,是因为他们是完美主义者,并且具有轻松的竞争力,而不是因为他们的人力资源经理是个白痴,他们的奖金会受到影响)。同样,使用巡航控制API(或刮擦或其他任何答案)也会很有趣。我同意坏掉的构建计数是一个很好的指标,但它与坏掉的时间有不同的含义。中断构建计数告诉我们引入缺陷的频率。在中断的构建状态中花费的时间告诉我们如何快速响应这些缺陷。我特别指的是CruiseControl.NET。你知道CruiseControl中的任何文档是否也适用于CruiseControl.NET吗?TeamCity看起来确实很整洁。出于好奇,如何使用TeamCity回答这个问题?@bhazzard-TeamCity显示每个构建配置的统计信息,显示在一天、一周、一个月、一季度、一年或所有时间内修复构建的时间。他们的文档显示了统计页面的一个示例。它还有一个restful api,您可以使用它进行查询。不能说我已经尝试过这个查询方法了。我只是看看图表。更新:这是一个可怕的无法维护的解决方案P