2013-06-04 26 views
5

Sto provando a creare un nuovo progetto per il controllo automatico della velocità. Per fare questo, ho aggiunto questo al mio file di ccnet.configCruise Control & Git: "L'operazione di controllo del codice sorgente è scaduta." 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> 

ma ottengo un

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) 

sono in grado di utilizzare le estensioni git e git bash per scaricare i file, ma dà CruiseControl io questo errore È molto strano e frustrante, perché per un po 'ha funzionato, ho potuto anche creare un file di msbuild per compilarlo e così via, ma ha smesso di funzionare senza modifiche e ora sono bloccato.

Cosa potrebbe accadere?

Modifica: ho aumentato il timeout a 2 ore. Ho iniziato la costruzione e ho anche iniziato in una seconda macchina il tiro. Potrei completare 3 pull e le informazioni che ottengo nel ccnet sono ancora "git fetch origin". Sembra che sia bloccato. C'è un modo per controllare l'output della console per le operazioni?

+0

Quanto tempo è necessario per il timeout? Stiamo parlando istantaneamente o più a lungo del tuo "60000"? Se si usa manualmente 'git pull' sulla macchina di compilazione, quanto tempo ci vuole/funziona? – Pondidum

+0

Dipende. Alcuni secondi, se è "tutto aggiornato", che è il caso al momento. Per scaricare tutti i file ci potrebbe volere più di un minuto, forse 5. – JSBach

+0

@Pondidum Ho provato ad aumentare la proprietà di timeout, ho modificato la domanda con maggiori informazioni. – JSBach

risposta

3

Potrebbe trattarsi di problemi relativi all'account. È necessario modificare l'account del servizio CC. Git è basato su ssh e ssh legati all'account utente.

0

È il problema dell'account. Ho avuto un problema simile e l'ho risolto riavviando il servizio CruiseControl.NET Server da services.msc.