Ошибка клонирования Hudson git

Я создал бесплатный проект программного обеспечения в Гудзоне.

Я хочу клонировать общедоступный репозиторий Git: 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\jobs\watir\workspace из командной строки, и он отлично работает:

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

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

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

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

  • Microsoft Windows Server 2003 R2, стандартная версия, с пакетом обновления 2 (SP2)
  • java 1.6.0_14
  • Hudson 1.316
  • Плагин Hudson Git 0.7.3
  • git 1.6.3.2.1299.gee46c

Ответы

Ответ 1

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

Ответ 2

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

Ответ 3

Мне нужно было попробовать с помощью ssh [email protected]:organisation/repo.git url вместо https https://github.company.co.uk/organisation/repo.git

Ответ 4

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

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