2009-07-24 17 views
11

Stworzyłem bezpłatny projekt oprogramowania w Hudson.Hudson git clone error

chcę sklonować publicznych repozytorium Git: git://github.com/bret/watir.git

Budowa zakończy się niepowodzeniem z komunikatem o błędzie:

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) 

nie sądzę, że problem jest w uprawnieniach folderów bo mam inną pracę Hudson (z SVN repozytorium), które działa dobrze.

starałem się sklonować repozytorium do pracy .hudson \ \ Watir \ roboczej z linii poleceń, i to działa dobrze:

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. 

O ile mogę powiedzieć, Hudson stosować albo sam Git wykonywalny lub ta sama wersja, jak robi to wiersz poleceń.

linia

Command:

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 

wyszukać w internecie znalazłem tylko jedną stronę związaną z moim komunikat błędu (hudson git plugin remote windows slave clone), a ona mówi, że problem jest Git nie będąc na ścieżce. Ale w takim przypadku git version nie uciekłoby przed Hudsonem, prawda?

Środowisko:

  • Microsoft Windows Server 2003 R2 Standard Edition z dodatkiem Service Pack 2
  • java 1.6.0_14
  • Hudson plugin 1,316
  • Hudson GIT 0.7.3
  • git 1.6 .3.2.1299.gee46c

Odpowiedz

8

Wygląda na to, że post miał rację: hudson git plugin remote windows slave clone. Po przejściu do sekcji Manage Hudson > Configure System w sekcji Git > Git executable wystąpił błąd There's no such executable git in PATH. (Jeśli zajmie kilka sekund, aby Hudson wyświetlił błąd po wyświetleniu strony.) Dodanie C:\Program Files\Git\bin do ścieżki i ponowne uruchomienie Hudsona rozwiązało problem.

+0

Dziękuję, właśnie spotkałem ten sam problem. Wygląda na to, że sterowniki niewolników Hudson [;-)] oczekują poleceń takich jak shell poleceń. Git \ cmd jest na ścieżce, ale nie Git \ bin. Sprowadza się to do tego, jak nazywasz rzeczy. –

+0

Dla mnie ten sam problem. Nie ma git na ścieżce. –

-1

Wtyczka Git 0.7.3 mają pewne wydania es w przypadku użycia z bezwzględnymi ścieżkami systemu Windows.

Spróbuj użyć względnych ścieżek.

+0

W jaki sposób? Czy mógłbyś to sprecyzować? Gdzie mogę określić w Hudson, że chcę, aby używać ścieżek względnych? –

1

Warto zauważyć, że jeśli sam proces klonowania napotka problem, zobaczysz także ten problem. Miałem problemy z jednym z moich skrzynek, które zawiodły 4 na 5 razy w początkowym klonie dużego repozytorium, a Hudson ciągle rzucał ten błąd. Dobrym sposobem na sprawdzenie tego jest problem i to nie jest to, że Hudson nie może znaleźć pliku wykonywalnego git, to ręcznie sklonować repozytorium do obszaru roboczego Hudson, a następnie uruchomić kompilację Hudsona: jeśli Hudson zostanie poprawnie skonfigurowany, kompilacja się powiedzie i zgłoś, że nie ma żadnych zmian.

+0

To jest dokładnie problem, na który się natknąłem. Jeśli zrobię klona w wierszu poleceń najpierw w obszarze roboczym, gdzie hudson będzie pracował, przyszłe kompilacje będą działały dobrze. W początkowym procesie klonowania coś jest nie tak, ale nie mogę powiedzieć, co dokładnie w tym momencie. Bez wątpienia debugowanie kodu wtyczki Git może ujawnić dokładnie, co jest nie tak. Jeśli kiedykolwiek dostanę trochę wolnego czasu, planuję to zrobić. –

0

Musiałem spróbować z ssh [email protected]:organisation/repo.git url zamiast https https://github.company.co.uk/organisation/repo.git