2009-07-24 3 views
11

Я создал бесплатный проект программного обеспечения в Хадсоне.Ошибка Hudson git clone

Я хочу, чтобы клонировать публичный репозиторий: git://github.com/bret/watir.git

Сложение терпит неудачу с сообщением об ошибке:

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) 

Я не думаю, что проблема заключается в разрешениях папки, потому что у меня есть другая работа Хадсон (с SVN репозиторий), который работает отлично.

Я попытался клонировать репозиторий .hudson \ рабочих мест \ Watir \ рабочее пространство из командной строки, и она отлично работает:

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. 

Насколько я могу сказать, Хадсон использовал либо же Git исполняемого файла или той же версии, что и в командной строке.

Командная строка:

C:\>git version 
git version 1.6.3.2.1299.gee46c 

Хадсон:

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 

Поиск в Интернете я нашел только одну страницу, связанную с моим сообщением об ошибке (hudson git plugin remote windows slave clone), и это говорит о том, что проблема заключается не в Git находясь в пути. Но в таком случае git version не побежал бы от Хадсона, верно?

Окружающая среда:

  • Microsoft Windows Server 2003 R2, Standard Edition с пакетом обновления 2
  • Java 1.6.0_14
  • Hudson 1,316
  • Хадсон GIT плагин 0.7.3
  • мерзавец 1,6 .3.2.1299.gee46c

ответ

8

Похоже, hudson git plugin remote windows slave clone Сообщение было правдой. Когда я перехожу на Manage Hudson > Configure System, в разделе Git > Git executable есть ошибка There's no such executable git in PATH. (Если требуется, чтобы Хадсон отобразил ошибку после отображения страницы). Добавление C:\Program Files\Git\bin к пути и перезапуску Хадсон решил проблему.

+0

Спасибо, я только что встретил ту же проблему. Похоже, что ведомые водители Hudson [;-)] ожидают выхода команд вроде командной оболочки. Git \ cmd находится на пути, но не Git \ bin. Это сводится к тому, как вы называете вещи. –

+0

Такая же проблема для меня. Нет пути на пути. –

-1

Git plugin 0.7.3 имеет некоторые выпуски es при использовании с абсолютными путями окон.

Попробуйте вместо этого использовать относительные пути.

+0

Как? Можете быть более конкретными? Где я указываю в Хадсоне, что я хочу, чтобы он использовал относительные пути? –

1

Стоит отметить, что если сам процесс клонирования имеет проблему, вы также увидите эту проблему. У меня возникли проблемы с одним из моих ящиков, которые 4 из 5 раз не выполнялись в исходном клоне большого хранилища, и Хадсон продолжал метать эту ошибку. Хорошим способом проверить это является проблема, и Хадсон не может найти исполняемый файл git, - это клонировать репозиторий в рабочее пространство Hudson вручную, а затем запускать сборку Hudson: если Hudson настроен правильно, сборка будет успешной и сообщите, что изменений нет.

+0

Это именно та проблема, с которой я столкнулся. Если я сначала сделаю клон в командной строке в рабочую область, где hudson будет работать, будущие сборки прекрасно работают. Что-то явно идет не так с начальным процессом клонирования, но я не могу сказать, что именно на данный момент. Несомненно, отладка кода плагина Git может показать, что именно не так. Если я когда-нибудь получу свободное время, я планирую это сделать. –

0

мне нужно попробовать с SSH [email protected]:organisation/repo.git URL вместо этого HTTPS https://github.company.co.uk/organisation/repo.git