Подтвердить что ты не робот

Jenkins/hudson не может подключиться к github repo

Я нахожусь на Ec2 с базой amazon ami linux. Я установил jenkins, но когда я иду, чтобы вытащить репо из github, я получил следующую ошибку:

Building in workspace /var/lib/jenkins/workspace/build social
Checkout:build social / /var/lib/jenkins/workspace/build social - [email protected]
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone [email protected]:adulion/.git
hudson.plugins.git.GitException: Could not clone [email protected]:adulion/.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:245)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1117)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1059)
    at hudson.FilePath.act(FilePath.java:832)
    at hudson.FilePath.act(FilePath.java:814)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1059)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:581)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:470)
    at hudson.model.Run.run(Run.java:1421)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin [email protected]:adulion/.git /var/lib/jenkins/workspace/build social" returned status code 128:
stdout: Cloning into /var/lib/jenkins/workspace/build social...

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

Я создал ключ для текущего пользователя, который установил jenkins и сумел клонировать репо с помощью командной строки git, но jenkins не может.

Я скопировал файлы ~/.ssh в /var/lib/jenkins/.ssh

Я добавил github для известных хостов, и у меня не хватало решений, чтобы попробовать. Кто-нибудь знает, где я ошибаюсь? Есть ли способ заставить jenkins показать открытый ключ, который он использует, и я могу отлаживать, если он использует правильный?

Я удалил имя репо, потому что его частное репо

4b9b3361

Ответ 1

Похоже, что ошибка: проверка ключа хоста не выполнена.

Вы должны войти в свой узел Jenkins в качестве пользователя Jenkins и запустить:

ssh [email protected]

Затем ответьте "да" на приглашение о ключе хоста. Это нужно сделать только один раз.

В качестве альтернативы вы можете добавить "StrictHostKeyChecking no" в ~ jenkins/.ssh/config.

Ответ 2

Я использую одну машину jenkins, чтобы проверять несколько репозиториев github и имел схожие проблемы при ее настройке. То, что я закончил, - это конфигурировать конфигурационный файл SSH для jenkins, чтобы SSH автоматически узнал, какой файл идентификатора должен связываться с каждым репозиторием.

/var/lib/jenkins/.ssh/config:

Host github-ABC
  HostName github.com
  User git
  IdentityFile /var/lib/jenkins/.ssh/id_rsa_ABC

В конфигурации проекта Jenkins при управлении исходным кодом я использовал это как имя репозитория:

[email protected]:user/repo.git

Наконец, я использую открытый ключ SSH в качестве ключа развертывания в репозитории github.

Ответ 3

Он помог мне:

Вход в систему под Jenkins

sudo su jenkins

Скопируйте свой ключ github в папку Jenkins.ssh

cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/

Запустите клавиши

mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub

Ответ 4

1) Переключить пользователя на свою учетную запись jenkins

su jenkins

2) Создайте ключ без кодовой фразы

3) ssh git @github.com

Это сработало отлично для меня.

Возможно, вам понадобится создать пароль для учетной записи jenkins, если вы используете sudo passwd jenkins

Ответ 5

Если вы вошли в систему как jenkins, вы можете сделать

ssh -i ~/.ssh/id_rsa git @github.com

где ~/.ssh/id_rsa - это путь /to/your/ssh/, и он будет запрашивать пароль и добавлять файл known_hosts

Ответ 6

Вам нужно добавить ssh-ключ jenkins к пользователю github.

Создать ключ ssh

Перейдите к:

Github->Settings(Top right)->SSH Keys(Left Pane)->Add SSH Key