Прежде чем кто-либо подстрелит меня для этого - я уже проверил каждый соответствующий поток и все еще не нашел решение моей проблемы.
У меня есть Гудзон с плагином мерзавца, установленным на Windows Server (не мой выбор) и Гудзонские выполнения как услуга. 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
Таким образом, кажется, что я должен аутентифицировать хост однако, я не уверен, почему Гудзон запускает задание как пользователя, анонимного, когда я установил Администратора как владельца гудзонской службы.
Делает любой знает:
Если это было отправлено перед извинениями, но я провел много часов, ища вокруг и ничего не мог бы найти.
Спасибо
Lewis
Это может быть связано с вопросом Git, невозможно клонировать репозиторий в Windows
Проблема в том, что MSysGit запускает PLink в фоновом режиме, т.е. терминал фактически не подключен к входу PLink. Это означает, что вы просто не можете ничего вводить в PLink.
Вам просто нужно один раз подключиться к серверу с помощью PLink или PuTTY, ответить «Да», и с этого момента вас больше не будут спрашивать.
Учебник от cletus также может быть полезен.
Хорошее описание проблемы можно найти в этой записи блога
проблема в том, что Hudson является службой и работает под пользователем «Локальная учетная запись службы» .
Следующим шагом будет добавление трассировки вручную в кеш (файл), потому что я знаю, что это можно сделать в 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...
Теперь Хадсон, запущенный как служба, благополучно и плавно перейдет в репозиторий, где находится код.
'started by anonymous' говорит вам, какой пользователь Hudson запустил задание. Если вы не создали ни одного пользователя Hudson, то все запускается 'anonymous'
Это не связано с тем, какой пользователь ОС выполняет процесс.
Вы спросили, как изменить пользователя, от имени которого работает Hudson: вам нужно отредактировать службу (Панель управления-> Администрирование-> Службы, дважды щелкните службу Hudson и измените «Вход в систему» на «Эта учетная запись») .
После настройки учетной записи я убеждаюсь, что сервер git находится в ~ hudson / .ssh / known_hosts MINGW (Git Bash) и что там есть файл ~ hudson / .ssh / identity. Единственное предупреждение, которое у меня есть, заключается в том, что если у вас установлен cygwin, вам необходимо убедиться, что% CYGWIN% пуст, иначе вы увидите ключевые ошибки разрешений в журналах Hudson. Я рекомендую вам просто установить пустую переменную среды CYGWIN в Hudson.