Почему git fetch через hudson не работает, а git fetch через командную строку работает? - PullRequest
11 голосов
/ 14 сентября 2010

Я пытаюсь получить из github репозиторий git, доступный только для чтения, и заставить его собираться через hudson.Этот процесс завершается с ошибкой.

Это вывод hudson:

Started by an SCM change
Checkout:workspace / d:\hudson\home\jobs\gdcm-hudson\workspace - hudson.remoting.LocalChannel@19ba1d8
Using strategy: Default
Checkout:workspace / d:\hudson\home\jobs\gdcm-hudson\workspace - 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)\Git\bin\git.exe" fetch -t git://github.com/malaterre/gdcm.git +refs/heads/*:refs/remotes/origin/*
[workspace] $ "C:\Program Files (x86)\Git\bin\git.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$2.invoke(GitSCM.java:674)
    at hudson.plugins.git.GitSCM$2.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)

Когда я запускаю эту команду выборки напрямую через командную строку git bash, я не получаю ответ (который, я полагаю, означает, что этоработало).

Я посмотрел на это возможное решение: http://issues.hudson -ci.org / browse / HUDSON-7141? page = com.atlassian.jira.plugin.system.issuetabpanels% 3Aall-tabpanel

Но использование этой версии плагина не изменило этого поведения.

Я даже не успел заставить его работать с cmake, просто загружал последовательно.Как мне заставить это работать?

edit: Эта проблема не является репродукцией Проблема клонирования / извлечения репозитория с использованием плагина Git для Hudson в Windows , потому что я не работаю какслужба на сервере.

Ответы [ 5 ]

8 голосов
/ 15 декабря 2010

Да, я только что исправил эту проблему.Если вы откроете проводник Windows на d:\hudson\home\jobs\gdcm-hudson\workspace, вы сможете увидеть каталог .git и больше ничего.Должна быть рабочая копия, но ее нет.Чтобы это исправить, вы должны «заправить» репозиторий, запустив

git pull git://github.com/malaterre/gdcm.git

. Это должно создать кучу других файлов в d:\hudson\home\jobs\gdcm-hudson\workspace рядом с каталогом .git, и вы сможете выполнить сборку вГудзон.

5 голосов
/ 31 октября 2011

Это произошло со мной при сборке, которая раньше работала нормально.Решением было просто удалить каталог рабочей области и перезапустить сборку.

2 голосов
/ 14 сентября 2010

Плагин Git для Hudson дает сбой только недавно при такого рода сообщениях об ошибках ( выпуск 6902, июль 2010 ).До этого он продолжал молча (что вводило в заблуждение).

У вас есть какие-либо подмодули, определенные?
Потому что это похоже на Ошибка Git Plugin 4

У меня есть следующие настройки:

  • ветвь с именем "master", которая содержит подмодуль для другого проекта
  • ветвь с именем "development", которая не содержит подмодульссылка

Если я сконфигурирую задание Hudson для сборки / проверки ветви "Develop", сборка будет прервана, поскольку она не может выполнить проверку субмодуля.Поскольку это происходит перед переключением в ветку «разработка», сборка прерывается до того, как что-либо началось.

Решение

Я предполагаю, что вывод git ls-tree HEAD сканируется на наличие160000 ссылок для определения того, какие записи являются подмодулями.
Ссылка HEAD в этой точке все еще указывает на master, я полагаю, в большинстве случаев.
Вместо ls-tree 'HEAD, возможно, сделайте этона указанной ветке?

0 голосов
/ 28 января 2015

Кстати, в моем случае проблема заключалась в том, что был настроен специальный исполняемый файл Git (в глобальных настройках Hudson). Не удалось запустить этот исполняемый файл на некоторых хостах сборки из-за отсутствия библиотек. При использовании / usr / bin / git это сработало.

Похоже, что описанное сообщение об ошибке действительно может указывать любая ошибка Git вообще.

0 голосов
/ 23 сентября 2012

После удаления каталога рабочей области Hudson .hudson он у меня работает.Я использую Hudson 2.2.1 и git plugin 2.2.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...