2010-08-18 3 views
8

Если есть кто-нибудь, кто может помочь мне понять, почему этот git-репо не клонирует, это было бы потрясающе.Hudson git error ssh

Я запускаю ту же команду с терминала, в котором работает. Я надеюсь узнать, где я могу поместить пароль, чтобы сервер мог аутентифицировать соединение.

Прошу вас, спасибо.

ERROR: Error cloning remote repo 'origin' : Could not clone ssh://[email protected]/usr/local/repository/kdm/git/TestCaseGenerator.git 
ERROR: Cause: Error performing /usr/bin/git clone -o origin ssh://[email protected]/usr/local/repository/kdm/git/TestCaseGenerator.git /var/lib/hudson/jobs/KDM_Test_Case_Generator/workspace 
Command returned status code 128: Initialized empty Git repository in /var/lib/hudson/jobs/KDM_Test_Case_Generator/workspace/.git/ 
No protocol specified 

(ssh-askpass:12523): Gtk-WARNING **: cannot open display: :0.0 
Host key verification failed. 
fatal: The remote end hung up unexpectedly 

Trying next repository 
ERROR: Could not clone repository 
FATAL: Could not clone 
hudson.plugins.git.GitException: Could not clone 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:719) 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:658) 
    at hudson.FilePath.act(FilePath.java:753) 
    at hudson.FilePath.act(FilePath.java:735) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:658) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1046) 
    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:1248) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:129) 
+0

Вы запустили его как hudson с терминала или как вы? –

+0

Hudson не может установить соединение ssh, потому что ваш ключ защищен паролем. – Rudi

ответ

8

Вы должны установить доверительные отношения SSH между вашей репо и сервером мерзавца.

Вам нужно только сделать это один раз.

Короче он идет следующим образом QS:

Войти как пользователь работает Хадсон

ssh-keygen 

использовать пустой пароль

Это создает 2 файла в .ssh: id_dsa и id_dsa.pub ,

cat .ssh/id_dsa.pub 

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

ssh repo-server 

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

cat - >>.ssh/authorized_keys 

(двойная проверка у вас есть 2> 's или риск гнев ваших коллег) Затем вставьте тарабарщину вы только что скопировали.

Выйти и проверить, что вы можете ssh без предоставления пароля.

Это работает для хостов на базе Unix. Для github, gitosis, windows процесс похож, но, конечно, другой.

Теперь Хадсон должен быть в состоянии подключиться.

+0

Спасибо! Я долго боролся, не понимая, почему мой SSH-ключ не работал, пока я не прочитал ваши инструкции, в частности строку «Войти как пользователь, выполняющий hundson» :-) – machineghost

0

Если это URL быть:

ssh://[email protected]:/usr/local/repository/kdm/git/TestCaseGenerator.git 

?

(Missing двоеточия после «.net»)

+0

Если вы укажете, какой протокол использовать «явно», «:» не требуется. –

0

Вы должны проверить следующее:

  1. Вы используете SSH ключи пользователя, запустившего Hudson демона. Например, если user = hudson, то вы должны войти в систему как hudson и сгенерировать ключи ssh.
  2. Вы загрузили свой открытый ключ на свой сервер (github, assemblyla) из правильного файла .ssh/id_rsa.pub i.e.для того же пользователя, запустившего Hudson демон
  3. Вы добавили RSA отпечаток вашего сервера на ваш .ssh/known_hosts файл
0

Если все должно быть правильно, но это strangly не работает, убедитесь, что ваш проект ралли построить на ведомом вы настроили.

Смежные вопросы