2013-06-04 77 views
5

Próbuję stworzyć nowy projekt do tempomatu. Aby to zrobić, dodałem to do mojego pliku ccnet.configTempomat i Git: "Przekroczono limit czasu operacji kontroli źródła." error

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

Ale dostaję

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) 

jestem w stanie korzystać z rozszerzeń i git git bash wyciągnąć pliki, ale daje CruiseControl mnie ten błąd. To jest bardzo dziwne i frustrujące, ponieważ przez pewien czas działało, mogłem nawet stworzyć plik msbuild, aby go skompilować i tak dalej, ale przestał działać bez zmian i teraz utknąłem.

Co może się stać?

Edycja: zwiększyłem limit czasu do 2 godzin. Rozpocząłem budowę, a także zacząłem od drugiej maszyny. Mógłbym ukończyć 3 ciągnięcia, a informacja, którą otrzymam w ccnet, wciąż jest "pochodzenia git fetch". Wygląda na to, że jest zablokowany. Czy istnieje sposób sprawdzenia danych wyjściowych konsoli dla operacji?

+0

Ile czasu zajmuje przekroczenie limitu czasu? Czy mówimy natychmiastowo, czy dłużej niż twój "60000"? Jeśli używasz ręcznie, wykonaj 'git pull' na komputerze kompilacji, jak długo to trwa/działa? – Pondidum

+0

To zależy. Kilka sekund, jeśli jest "wszystko na czasie", co ma miejsce w danym momencie. Aby pobrać wszystkie pliki, może to potrwać ponad minutę, może 5. – JSBach

+0

@Pondidum Próbowałem zwiększyć właściwość timeout, zredagowałem pytanie z dodatkowymi informacjami. – JSBach

Odpowiedz

3

To mogą być problemy z kontem. Musisz zmienić konto usługi CC. Git jest oparty na ssh i ssh przywiązanych do konta użytkownika.

0

Jest to problem z kontem. Miałem podobny problem i rozwiązałem go, restartując usługę CruiseControl.NET Server z services.msc.

Powiązane problemy