3

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

有什么方法可以让我捕捉到这种情况并让这两个同意吗?

4

2 回答 2

1

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

要解决这个问题,就要确定问题出在哪里。如果问题出在 CCTray 级别,则重新启动 CCTray。如果问题出在仪表板级别,那么重新启动 IIS 应该可以解决它。

于 2012-12-05T14:20:40.030 回答
1

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

如果源代码控制失败(比如因为超时或连接失败),以下情况将成立:

  1. CruiseControl 会将项目状态设置为Exception,因为项目当前处于错误状态
  2. CruiseControl不会修改最后的构建状态,因为构建尚未发生
    • 所以如果之前的构建成功 - 项目将报告最后Success构建状态

CruiseControl 仅通过 CCTray 使用的 API本地报告最后的构建状态。让它检查项目状态更加复杂,最终效率降低。因此,CCTray 将“状态”报告为最后的构建状态,而不是两者的混合。

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

这个问题还有其他几个副作用;比如projectTrigger在这种情况下开枪;因为这些也不会检查项目状态

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

于 2014-08-23T10:03:06.110 回答