2013-06-04 8 views
5

Ich versuche ein neues Projekt für den Tempomat zu erstellen. , das zu tun, habe ich diese auf meine ccnet.config DateiCruise Control & Git: "Die Zeit für die Quellcodeverwaltung ist abgelaufen." Fehler

<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> 

Aber ich bekomme ein

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) 

Ich bin in der Lage git Erweiterungen und git bash zu verwenden, um die Dateien zu ziehen, aber CruiseControl- gibt mir dieser Fehler. Es ist sehr seltsam und frustrierend, weil für eine Weile es funktionierte, konnte ich sogar eine msbuild-Datei erstellen, um es zu kompilieren und so weiter, aber es hat aufgehört zu arbeiten ohne Änderungen und jetzt bin ich fest.

Was könnte passieren?

Edit: Ich habe das Timeout auf 2 Stunden erhöht. Ich habe mit dem Build angefangen und ich habe auch in einer zweiten Maschine angefangen zu ziehen. Ich konnte 3 Ziehungen durchführen und die Informationen, die ich in der Ccnet bekomme, sind immer noch "git fetch ursprungs". Es scheint, dass es gesperrt ist. Gibt es eine Möglichkeit, die Konsolenausgabe für die Operationen zu überprüfen?

+0

Wie lange dauert das Timeout? Sprechen wir sofort oder länger als deine '60000'? Wenn du manuell einen "git pull" auf der Build-Maschine ausführst, wie lange dauert das/funktioniert es? – Pondidum

+0

Kommt drauf an. Einige Sekunden, wenn es "alles aktuell" ist, was im Moment der Fall ist. Um alle Dateien herunterzuladen, könnte es mehr als eine Minute dauern, vielleicht 5. – JSBach

+0

@Pondidum Ich habe versucht, die Timeout-Eigenschaft zu erhöhen, die Frage mit mehr Informationen bearbeitet. – JSBach

Antwort

3

Es könnte Probleme mit dem Konto sein. Sie müssen das CC-Dienstkonto ändern. Git basiert auf ssh und ssh, die an das Benutzerkonto gebunden sind.

0

Es ist das Konto Problem. Ich hatte ein ähnliches Problem und löste es durch Neustart des Dienstes CruiseControl.NET Server von services.msc.