当巡航控制无法到达源控制存储库时,cctray报告构建成功

时间:2011-11-16 16:46:29

标签: cruisecontrol.net cruisecontrol cctray

当源控制存储库无法访问时,巡航控制将继续返回以检查是否有修改。虽然最新的构建成功,但仪表板报告失败,但cctray报告成功。

我是否有某种方法可以捕捉到这种情况并让这两种方式达成一致?

2 个答案:

答案 0 :(得分:1)

是的,当CCTray挂在本地PC上时,可能会发生这种情况。如果问题出现在仪表板上,则表示IIS服务器挂起了CruiseControl服务器正在运行的位置。

要解决此问题,请确定问题所在。如果问题出现在CCTray级别,则重新启动CCTray。如果问题出现在仪表板级别,则重新启动IIS应该修复它。

答案 1 :(得分:1)

这实际上是由于CruiseControl中的一个问题;不是CCTray本身。

如果源控制失败(例如由于超时或连接失败),则会出现以下情况:

  1. 当项目当前处于错误状态时,CruiseControl会将项目状态设置为Exception
  2. CruiseControl将修改上次构建状态,因为尚未发生构建
    • 因此,如果之前的构建成功 - 项目将报告{em>上次构建状态
    • Success
  3. CruiseControl仅通过CCTray使用的API报告 - 本地 - 最后构建状态。让它检查项目状态更复杂,最终效率降低。因此,CCTray报告了“状态”。作为最后构建状态而不是两者的混合。

    WebDashboard显示项目状态上次构建状态,因此可以更好地评估项目的真实状态。

    这个问题还有其他一些副作用;例如projectTrigger在这种情况下被解雇;因为这些也不检查项目状态

    理想情况下CCTray - 和projectTrigger s等。 al - 将检查项目状态 上次构建状态,并将结果报告为两者的组合。