【发布时间】:2017-04-28 01:37:52
【问题描述】:
当无法访问源代码控制存储库时,巡航控制会继续返回检查修改。虽然最新构建成功,但仪表板报告失败,但 cctray 报告成功。
有什么方法可以捕捉到这种情况并让这两者达成一致吗?
【问题讨论】:
标签: cruisecontrol.net cruisecontrol cctray
当无法访问源代码控制存储库时,巡航控制会继续返回检查修改。虽然最新构建成功,但仪表板报告失败,但 cctray 报告成功。
有什么方法可以捕捉到这种情况并让这两者达成一致吗?
【问题讨论】:
标签: cruisecontrol.net cruisecontrol cctray
是的,当 CCTray 在本地 PC 上挂起时,可能会发生这种情况。如果问题出现在仪表板上,则意味着 IIS 服务器在 CruiseControl 服务器运行的位置挂起。
解决此问题的方法是确定问题所在。如果问题出在 CCTray 级别,则重新启动 CCTray。如果问题出在仪表板级别,那么重新启动 IIS 应该可以解决它。
【讨论】:
这实际上是由于 CruiseControl 中的问题造成的;不是 CCTray 本身。
如果源代码管理失败(比如因为超时或连接失败),以下情况将成立:
Exception,因为项目当前处于错误状态Success 以获取最后的构建状态
CruiseControl 仅通过 CCTray 使用的 API 以本机方式报告 上次构建状态。让它检查 项目状态 更复杂,最终效率更低。因此,CCTray 将“状态”报告为最后的构建状态,而不是两者的混合。
WebDashboard 显示 项目状态 和 最后构建状态,因此可以更好地评估项目的真实状态。
这个问题还有其他几个副作用;比如projectTriggers在这种情况下开火;因为这些也不检查项目状态。
理想情况下是 CCTray - 和 projectTriggers 等。 al - 将同时检查 项目状态 和 最后的构建状态,并将结果报告为两者的组合。
【讨论】: