2012-07-20 43 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