Клонирование/выборка репозитория проблем с использованием Git плагина для Hudson on Windows

6 Lewis [2010-03-03 13:26:00]

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

У меня есть Hudson с плагином git, установленным на сервере Windows (не мой выбор), а Hudson работает как служба. Git/bin находится на пути. Однако я не могу клонировать репозиторий. Вот краткое отображение вывода консоли:

Started by user anonymous
Checkout:workspace / C:\.hudson\jobs\sdf\workspace - hudson.remoting.LocalChannel@65394b
Last Built Revision: Revision 74200b32314231a5efdadd87bf36b42ec145c720 (origin/master)
Checkout:workspace / C:\.hudson\jobs\sdf\workspace - hudson.remoting.LocalChannel@65394b
Fetching changes from the remote Git repository
Fetching upstream changes from ssh://git.mccannlondon.co.uk/git/mccann_admin
[workspace] $ "C:\Program Files\Git\bin\git.exe" fetch -t ssh://git.mccannlondon.co.uk/git/mccann_admin +refs/heads/*:refs/remotes/origin/*
The server host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server rsa2 key fingerprint is:
ssh-rsa 2048 f1:48:2a:0a:d9:18:cf:2e:f2:8c:b3:25:7f:34:d5:34
Connection abandoned.
fatal: The remote end hung up unexpectedly
ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway

Мне кажется, мне нужно аутентифицировать хост, но я не уверен, почему hudson запускает работу как пользователь анонимный, когда я установил Администратора как владельца службы hudson.

Кто-нибудь знает:

  • a) как изменить пользователя hudson run? или
  • b) подключиться к удаленному компьютеру с той же учетной записью пользователя, что и hudson, чтобы позволить hudson извлекать?

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

Спасибо

Льюис

git clone windows hudson


4 ответа


4 VonC [2010-03-03 14:46:00]

Это может быть связано с вопросом Git, Cant clone repo на окнах

Проблема заключается в том, что MSysGit запускает PLink в фоновом режиме, т.е. терминал фактически не подключен к входу PLink. Это означает, что вы просто не можете вводить что-либо в PLink.

Вам просто нужно подключиться к серверу один раз с помощью PLink или PuTTY, ответить "Да", а после этого вас больше не будут спрашивать.

tutorial из cletus также может быть полезен.

Хорошее описание проблемы можно найти в этой записи в блоге

проблема заключается в том, что Хадсон - это сервис и работает под учетной записью пользователя локальной службы.

Следующий шаг - добавить трассировку вручную кэш (файл), потому что я знаю, что вы можете делать в Linux.
Неправильно снова, Windows не имеет этот кеш в качестве файла, но использует реестр.
Поиск в реестре нашел запись для моего пользователя (который ранее обращался к репозиторию и добавлял к кешу), где трассировка была сохранена и скопирована в HKEY_USERS, чтобы пользователи могли получить к ней доступ.

Запись будет выглядеть следующим образом:

Key Name: HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys
Class Name: NO CLASS
Last Write Time: 23.01.2009 - 18:35
Value 0
Name: dss@22:bla_bla.com
Type: REG_SZ
Data: 0xb477b...

В командной строке вы можете легко добавить ключ следующим образом:

reg add HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys /v dss@22:bla_bla.com /d 0xb477b...

Теперь Хадсон, работающий как служба, идет счастливо и плавно в репозиторий, где находится код.


1 TheDon [2010-03-03 16:26:00]

"Начинается анонимным" рассказывает вам, какой пользователь Хадсон начал работу. Если вы не создали пользователей Hudson, все начинается с "анонимного"

Это не связано с тем, какой пользователь ОС выполняет этот процесс.


0 Guildencrantz [2010-03-28 18:31:00]

Вы спросили, как изменить пользователя, с которым работает Hudson: вам нужно отредактировать службу (Панель управления- > Администрирование- > Службы, дважды щелкните по службе Hudson и измените "Вход в систему" ​​на "Эта учетная запись" ).

Как только учетная запись настроена, убедитесь, что сервер git находится в MINGW (Git Bash) ~ hudson/.ssh/known_hosts и что там есть файл ~ hudson/.ssh/identity на месте. Единственное предупреждение, которое у меня есть, заключается в том, что если у вас установлен cygwin, вам нужно убедиться, что% CYGWIN% пуст, иначе вы увидите ошибки разрешения ключа в журналах Hudson. Моя рекомендация состоит в том, что вы просто устанавливаете переменную среды CYGWIN в Hudson.


0 Larry Cai [2011-01-28 08:37:00]

Я встречаю ту же проблему и после проверки плагина git http://wiki.hudson-ci.org/display/HUDSON/Git+Plugin

Сообщается об изменении пути git к /usr/bin/ git в глобальной настройке и конфигурации git username

И он исправляет мою проблему

Надеюсь, что это сработает и для вас, кстати, я использую ubuntu, но он должен быть тем же самым