2012-07-20 69 views
2

拉我有这使报告碎建立与消息CruiseControl.net服务器“失败的任务:混帐:CheckForModifications”CruiseControl.net偶尔无法从混帐

在日志中给出的例外是:

ThoughtWorks.CruiseControl.Core.CruiseControlException:源控制操作失败:ssh_exchange_identification:连接由远程主机 致命关闭:远程端挂了出乎意料 Process命令:C:\ Program Files文件\ GIT中\ CMD \ git.cmd取原产地

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

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

  • 出现这种情况与Git的多个源(我试过的GitHub和青苗)
  • 这是发生在多个服务器上,在本地和托管在AWS的云
  • 认证使用SSH密钥,没有密码

回答

0

我不能保证这是一样的你的问题,但我已经看到了类似的问题occasiona当CC试图通过HTTPS从SVN中提取时。我通过将公司代理服务器的流量进行路由来解决这个问题,如果公司代理服务器的响应时间超过几秒钟,有时会造成连接中断。

+0

这是一个好主意。我不认为这是这种情况,因为我们没有在本地使用代理,并且(据我所知),AWS服务器也没有使用代理。 – andypaxo 2012-07-20 17:39:01

0

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

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

KeepAlive = yes 
ServerAliveInterval = 30