2009-07-24 26 views
11

Ho creato un progetto software in stile libero in Hudson.Errore clone git Hudson

voglio clonare un repository Git pubblico: git://github.com/bret/watir.git

Corporatura non riesce con il messaggio di errore:

Started by user anonymous 
Checkout:workspace/C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace - [email protected] 
Last Build : #4 
Checkout:workspace/C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace - [email protected] 
Cloning the remote Git repository 
Cloning repository origin 
$ git clone -o origin git://github.com/bret/watir.git "C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace" 
Trying next repository 
ERROR: Could not clone from a repository 
FATAL: Could not clone 
hudson.plugins.git.GitException: Could not clone 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:400) 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:358) 
    at hudson.FilePath.act(FilePath.java:676) 
    at hudson.FilePath.act(FilePath.java:660) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:358) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:833) 
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:314) 
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:266) 
    at hudson.model.Run.run(Run.java:948) 
    at hudson.model.Build.run(Build.java:112) 
    at hudson.model.ResourceController.execute(ResourceController.java:93) 
    at hudson.model.Executor.run(Executor.java:118) 

Non credo che il problema è in autorizzazioni delle cartelle perché ho un altro lavoro Hudson (con SVN repository) che funziona bene.

ho cercato di clonare il repository per .hudson \ lavori \ watir \ spazio di lavoro da linea di comando, e funziona benissimo:

C:\>git clone -o origin git://github.com/bret/watir.git "C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace" 
Initialized empty Git repository in C:/Documents and Settings/Administrator/.hudson/jobs/watir/workspace/.git/ 
remote: Counting objects: 15203, done. 
essing objects: 100% (5307/5307), done. 
remote: Total 15203 (delta 10052), reused 14532 (delta 9565) 
Receiving objects: 100% (15203/15203), 7.88 MiB | 144 KiB/s, done. 
Resolving deltas: 100% (10052/10052), done. 

Per quanto posso dire, Hudson utilizzato sia lo stesso eseguibile Git o la stessa versione di esso, come fa la riga di comando.

linea

di comando:

C:\>git version 
git version 1.6.3.2.1299.gee46c 

Hudson:

Started by user anonymous 
[workspace] $ cmd /c call C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\hudson9062544454093366628.bat 

C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace>git version 
git version 1.6.3.2.1299.gee46c 
Finished: SUCCESS 

prenotare online ho trovato solo una pagina relativa al mio messaggio di errore (hudson git plugin remote windows slave clone), e si dice che il problema non è Git essere in cammino. Ma in tal caso, git version non verrebbe eseguito da Hudson, giusto?

Ambiente:

  • Microsoft Windows Server 2003 R2, Standard Edition, il Service Pack 2
  • Java 1.6.0_14
  • Hudson 1.316
  • Hudson GIT plug 0.7.3
  • git 1.6 .3.2.1299.gee46c

risposta

8

Sembra che il post hudson git plugin remote windows slave clone abbia funzionato correttamente. Quando vado a Manage Hudson > Configure System, nella sezione Git > Git executable, c'è l'errore There's no such executable git in PATH. (Se occorrono alcuni secondi affinché Hudson visualizzi l'errore dopo la visualizzazione della pagina.) Aggiunta di C:\Program Files\Git\bin al percorso e riavvio Hudson ha risolto il problema.

+0

Grazie, ho appena incontrato lo stesso problema. Sembra che i driver degli slave Hudson [;-)] si aspettino di impartire comandi come la shell dei comandi. Git \ cmd è nel percorso ma non Git \ bin. Si riduce a come chiamate le cose. –

+0

Lo stesso problema per me. Niente git nel percorso. –

-1

Il plug-in Git 0.7.3 ha qualche problema es se utilizzato con i percorsi assoluti di Windows.

Provare a utilizzare i percorsi relativi.

+0

Come? Può essere più preciso? Dove posso specificare in Hudson che voglio che utilizzi percorsi relativi? –

1

Vale la pena notare che se il processo di clonazione stesso presenta un problema, vedrete anche questo problema. Ho avuto problemi con una delle mie scatole in mancanza di 4 su 5 volte sul clone iniziale di un grande repository, e hudson continuava a lanciare questo errore. Un buon modo per verificare questo è il problema, e Hudson non è in grado di trovare l'eseguibile git, è quello di clonare manualmente il repository nello spazio di lavoro di Hudson e quindi eseguire una build Hudson: se Hudson è configurato correttamente la compilazione avrà successo e segnala che non ci sono cambiamenti.

+0

Questo è esattamente il problema in cui mi sono imbattuto. Se faccio un clone sulla riga di comando prima nello spazio di lavoro in cui lavorerà hudson, le build future funzioneranno correttamente. Qualcosa sta chiaramente andando storto nel processo iniziale di clonazione, ma non posso dire cosa esattamente a questo punto. Senza dubbio il debug del codice del plugin Git potrebbe rivelare esattamente cosa c'è che non va. Se mai avrò un po 'di tempo libero, ho intenzione di farlo. –

0

avevo bisogno di provare con l'URL ssh [email protected]:organisation/repo.git invece i https https://github.company.co.uk/organisation/repo.git