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 показать открытый ключ, который он использует, и я могу отлаживать, если он использует правильный?
Я удалил имя репо, потому что его частное репо
Ответы
Ответ 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