Почему git fetch через hudson терпит неудачу, в то время как git fetch через командную строку работает?
Я пытаюсь получить репозиторий Git только для чтения из github и построить его через hudson. Этот процесс терпит неудачу.
это вывод hudson:
Started by an SCM change
Checkout:workspace / d:hudsonhomejobsgdcm-hudsonworkspace - hudson.remoting.LocalChannel@19ba1d8
Using strategy: Default
Checkout:workspace / d:hudsonhomejobsgdcm-hudsonworkspace - hudson.remoting.LocalChannel@19ba1d8
GitAPI created
Fetching changes from the remote Git repository
Fetching upstream changes from git://github.com/malaterre/gdcm.git
[workspace] $ "C:Program Files (x86)Gitbingit.exe" fetch -t git://github.com/malaterre/gdcm.git +refs/heads/*:refs/remotes/origin/*
[workspace] $ "C:Program Files (x86)Gitbingit.exe" ls-tree HEAD
ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway
ERROR: Could not fetch from any repository
FATAL: Could not fetch from any repository
hudson.plugins.git.GitException: Could not fetch from any repository
at hudson.plugins.git.GitSCM.invoke(GitSCM.java:674)
at hudson.plugins.git.GitSCM.invoke(GitSCM.java:641)
at hudson.FilePath.act(FilePath.java:753)
at hudson.FilePath.act(FilePath.java:735)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:641)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1061)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
at hudson.model.Run.run(Run.java:1273)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:129)
когда я запускаю эту команду fetch непосредственно через командную строку Git bash, я не получаю ответа (что, как я предполагаю, означает, что это сработало).
Я посмотрел на это возможно решение: http://issues.hudson-ci.org/browse/HUDSON-7141?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel
но использование этой версии плагина не изменило это поведение.
Я еще даже не получил, чтобы он работал с cmake, просто загружается последовательно. Как я могу заставить это работать?
edit: эта проблема не является повторением проблема клонирования / извлечения репозитория с помощью плагина Git для Hudson on Окна, потому что я не работаю как служба на сервере.
5 ответов
Да, я только что исправил эту точную проблему. Если открыть Проводник windows в d:\hudson\home\jobs\gdcm-hudson\workspace
вы должны быть в состоянии видеть .git
каталог и ничего больше. Должна быть рабочая копия, но ее нет. Чтобы исправить это, вы должны" prime " репозиторий, запустив
git pull git://github.com/malaterre/gdcm.git
это должно создать кучу других файлов в d:\hudson\home\jobs\gdcm-hudson\workspace
вдоль стороны .git directory и вы должны иметь возможность выполнять сборку в hudson.
Это пришло мне в голову на сборке, которая ранее работала нормально. Решением было просто удалить каталог рабочей области и перезапустить сборку.
плагин Git для Hudson терпит неудачу только недавно в этом виде сообщения об ошибке (выпуск 6902, июль 2010). Раньше это продолжалось молча (что вводило в заблуждение).
у вас есть какие-либо определенные подмодули?
Потому что это выглядит как Ошибка Плагина Git 4
у меня есть следующие настройки:
- ветвь под названием "master", которая содержит подмодуль для другого проекта
- ветка называется "develop", который не содержит ссылки на подмодуль
если я настраиваю задание Hudson для сборки / тестирования ветви "разработка", сборка прерывается, потому что она не может выполнить проверку подмодуля. Поскольку это происходит перед переключением на ветку "разработка", сборка прерывается до начала работы.
решение
Я предполагаю, что выход
git ls-tree HEAD
сканируется для 160000 ссылок, чтобы определить, какие записи подмодули.
СудьяHEAD
в этот момент все еще указывает наmaster
, Я полагаю, в большинстве случаев.
Вместоls-tree
' ingHEAD
, может сделать это на указанной ветке?
после удаления каталога рабочей области Hudson .hudson
, это работает для меня. Я использую Hudson 2.2.1
и git plugin 2.2.1
.
для записи в моем случае проблема заключалась в том, что был настроен специальный исполняемый файл Git (в глобальных настройках Hudson). Этот исполняемый файл не удалось запустить на некоторых из моих узлов сборки из-за отсутствия библиотек. При использовании /usr/bin/git вместо этого он работал.
таким образом, похоже, что описанное сообщение об ошибке действительно может указывать любой ошибка Git вообще.