Проблема клонирования / извлечения репозитория с использованием плагина Git для Hudson в Windows - PullRequest
6 голосов
/ 03 марта 2010

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

У меня Hudson с установленным плагином git на windows server (не мой выбор), и 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's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's 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.

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

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

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

Спасибо

Льюис

Ответы [ 4 ]

4 голосов
/ 03 марта 2010

Это может быть связано с вопросом Git, Не могу клонировать репо на windows

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

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

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

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

проблема в том, что Hudson является сервисом и работает под пользователем "Local Service Account" .

Следующим шагом является добавление трассировки вручную в кеш (файл), потому что я знаю, что вы можете сделать это в 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 голос
/ 03 марта 2010

«Запущено анонимным» говорит вам, какой пользователь Hudson начал работу. Если вы не создали ни одного пользователя Hudson, тогда все запускается «анонимным»

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

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

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

В глобальных настройках указано, что нужно изменить путь к git на / usr / bin / git и настроить имя пользователя git

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

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

0 голосов
/ 28 марта 2010

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

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

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