2

我有一个 CruiseControl.net 服务器,它不断报告损坏的构建,并显示消息“失败的任务:Git:CheckForModifications”

日志中给出的异常是:

ThoughtWorks.CruiseControl.Core.CruiseControlException:源代码控制操作失败:ssh_exchange_identification:远程主机关闭连接致命:远程端意外挂断处理命令:C:\ Program Files \ Git \ cmd \ git.cmd fetch origin

真正奇怪的是,这个错误并非一直发生。强制构建会导致 CC 正确拉取并继续工作一段时间(直到再次发生这种情况)。

其他一些可能相关的信息:

  • 这发生在不止一个 Git 来源(我试过 GitHub 和 Beanstalk)
  • 这发生在本地托管和 AWS 云上的多台服务器上
  • 身份验证使用没有密码的 SSH 密钥
4

2 回答 2

0

我不能保证这与您的问题相同,但是当 CC 尝试通过 HTTPS 从 SVN 中提取时,我偶尔会看到类似的问题。我通过在公司代理周围路由该流量来解决它,如果响应时间超过几秒钟,有时会终止连接。

于 2012-07-20T17:35:37.400 回答
0

CheckForModifications 的间隔时间可能很长,ssh 连接关闭并重新打开偶尔会失败!

您可以尝试将以下内容添加到您的.ssh/.gitconfig文件中,这样所有 ssh 连接将每 30 秒发送一次“保持活动”并保持连接始终处于活动状态。

KeepAlive = yes
ServerAliveInterval = 30
于 2016-03-30T01:36:53.687 回答