2012-06-14 2 views
4

Я добавил плагин git к Дженкинсу. Я создал открытый ключ как пользователь 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 

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

ответ

4

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

+1

А, я попробовал это. И теперь я получаю следующую ошибку: stderr: Permission denied (publickey). Я займусь этим. Благодарю. – Gregg

+0

Если это публичное репо, вы можете попробовать клонировать только адрес https git только для чтения. Тогда вам не придется иметь дело с ключами. – kjw0188

+1

@Gregg, вы когда-нибудь выясняли свою публикационную проблему? У меня тоже. – Civilian

6

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

  • HostName github.com
  • мерзавца Пользователь
  • IdentityFile ~/.ssh/id_rsa
  • IdentitiesOnly да

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

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

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