Вопрос по git, jenkins, github – Jenkins Build с использованием Git с ключом развертывания

5

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

Когда Дженкинс пытается вытащить из репозитория git (размещенного на Github), я получаю следующее:

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/Test Deployment/workspace
Checkout:workspace / /var/lib/jenkins/jobs/Test Deployment/workspace - [email protected]
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone [email protected]:GenRocket/GenRocket.git
hudson.plugins.git.GitException: Could not clone [email protected]:GenRocket/GenRocket.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:245)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1121)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1063)
    at hudson.FilePath.act(FilePath.java:839)
    at hudson.FilePath.act(FilePath.java:821)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1063)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:586)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:475)
    at hudson.model.Run.run(Run.java:1438)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:239)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin [email protected]:GenRocket/GenRocket.git /var/lib/jenkins/jobs/Test Deployment/workspace" returned status code 128:
stdout: Cloning into /var/lib/jenkins/jobs/Test Deployment/workspace...

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

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

Ваш Ответ

2   ответа
6

что вы используете созданный вами ключ. Для этого создайте файл с именем & quot; config & quot; в вашем каталоге ~ / .ssh. Заполните файл конфигурации следующим:

HostName github.com User git IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes

Просто убедитесь, что значение IdentityFile указывает на ваш ключ. :)

Проверьте следующее: ssh -vT [email protected]

4

ins. Если вы вручную попытаетесь клонировать пользователя jenkins, вам будет предложено добавить github.com в качестве известного хоста. Как только вы это сделаете, jenkins сможет проверить ключ хоста при сборке.

Могу подтвердить, что удаление ключевой фразы заставило меня работать.
Кроме того, я изначально создал свой ключ ssh с парольной фразой. Как только я снял это, это сработало.
Если это общедоступное репо, вы можете вместо этого попробовать клонировать git-адрес только для чтения. Тогда вам не придется иметь дело с ключами.
Ах, я попробовал это. И теперь я получаю следующую ошибку: stderr: В доступе отказано (publickey). Я посмотрю на это. Благодарю. Gregg
@ Грегг, вы когда-нибудь выясняли проблему с публичными ключами? У меня тоже это есть.

Похожие вопросы