【问题标题】:cctray reports build successful when cruise control cant reach source control repository当巡航控制无法访问源代码控制存储库时,cctray 报告构建成功
【发布时间】:2017-04-28 01:37:52
【问题描述】:

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

有什么方法可以捕捉到这种情况并让这两者达成一致吗?

【问题讨论】:

    标签: cruisecontrol.net cruisecontrol cctray


    【解决方案1】:

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

    解决此问题的方法是确定问题所在。如果问题出在 CCTray 级别,则重新启动 CCTray。如果问题出在仪表板级别,那么重新启动 IIS 应该可以解决它。

    【讨论】:

      【解决方案2】:

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

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

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多