2013-06-04 38 views
5

我想創建一個新的項目巡航控制。 要做到這一點,我說這對我的ccnet.config文件Cruise Control&Git:「源代碼管理操作已超時。」錯誤

<project name="MyProj" 
     description="MyProjproject"> 

    <triggers/> 

    <sourcecontrol type="git"> 
    <repository>GitAddr</repository> 
    <branch>releaseName</branch> 
    <autoGetSource>true</autoGetSource> 
    <fetchSubmodules>true</fetchSubmodules> 
    <executable>C:\Program Files (x86)\Git\cmd\git.exe</executable> 
    <tagOnSuccess>false</tagOnSuccess> 
    <commitBuildModifications>false</commitBuildModifications> 
    <commitUntrackedFiles>false</commitUntrackedFiles> 
    <tagCommitMessage>Unation Web Build {0}</tagCommitMessage> 
    <tagNameFormat>Unation-Web-Build-{0}</tagNameFormat> 
    <committerName>Oscar Albrecht</committerName> 
    <committerEMail>[email protected]</committerEMail> 
    <workingDirectory>d:\GIT\Sources\WEB</workingDirectory> 
    <timeout>60000</timeout> 
    </sourcecontrol> 

    <tasks> 
     <exec> 
     <!-- if you want the task to fail, ping an unknown server --> 
     <executable>ping.exe</executable> 
     <buildArgs>localhost</buildArgs> 
     <buildTimeoutSeconds>15</buildTimeoutSeconds> 
     <description>Pinging a server</description> 
     </exec> 
    </tasks> 

    <publishers> 
    <xmllogger /> 
    <artifactcleanup cleanUpMethod="KeepLastXBuilds" 
        cleanUpValue="50" /> 
    </publishers> 

</project> 

但我得到一個

ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation has timed out. 
    at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo) 
    at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Git.GitFetch(IIntegrationResult result) 
    at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Git.CreateUpateLocalRepository(IIntegrationResult result) 
    at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Git.GetModifications(IIntegrationResult from, IIntegrationResult to) 
    at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModificationsWithLogging(ISourceControl sc, IIntegrationResult from, IIntegrationResult to) 
    at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResult thisBuild) 
    at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to) 
    at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request) 

我可以使用git擴展和git bash的拉文件,但給人的CruiseControl我這個錯誤。 這是非常奇怪和令人沮喪的,因爲一段時間它的工作,我甚至可以創建一個msbuild文件來編譯它等,但它沒有改變停止工作,現在我卡住了。

會發生什麼?

編輯:我增加了超時到2小時。我開始構建,我也開始在第二臺機器拉。我可以完成3次拉,我在ccnet中獲得的信息仍然是「git fetch origin」。它似乎被鎖定。 有什麼辦法可以檢查操作的控制檯輸出嗎?

+0

超時需要多長時間?我們是在說話,還是比你的'60000'長?如果您使用手動在構建機器上執行'git pull',那麼它需要多長時間才能工作? – Pondidum

+0

這取決於。幾秒鐘,如果它是「全部最新」,目前情況就是這樣。 要下載所有文件可能需要一分鐘以上,也許是5. – JSBach

+0

@Pondidum我試圖增加超時屬性,編輯更多的信息問題。 – JSBach

回答

3

這可能是帳戶問題。您需要更改CC服務帳戶。Git基於ssh和ssh綁定到用戶帳戶。

0

這是賬戶問題。我有類似的問題,並通過重新啓動服務CruiseControl.NET服務器services.msc解決它。