2012-06-14 4 views
4

Jitkins에 git plugin을 추가했습니다. 빌드 서버에서 jenkins 사용자로 공용 키를 생성했습니다. 이 키를 github에 배포 키로 추가했습니다. 젠킨스 이름과 이메일을 사용하여 글로벌 git 속성을 추가했으며 공개 키의 끝에있는 이메일과 일치합니다. Jenkins가 배포 키로 Git을 사용하여 빌드

젠킨스는 다음 (Github에서에서 호스팅)를 Git 저장소 내가 얻을에서 가져 오는

:

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를 jenkins 사용자의 .ssh/known_hosts 파일에 추가해보십시오. jenkins 사용자로 수동 복제를 시도하면 github.com을 알려진 호스트로 추가하라는 메시지가 표시됩니다. 일단 그렇게하면 젠킨스는 빌드를 할 때 호스트 키를 확인할 수 있어야합니다.

+1

아, 시도해 보았습니다. 그리고 이제 다음 오류가 발생합니다 : stderr : Permission denied (publickey). 나는 이것을 조사 할 것이다. 감사. – Gregg

+0

공개 Repo 인 경우 대신 읽기 전용 https git 주소를 복제 할 수 있습니다. 그렇다면 열쇠를 다룰 필요가 없습니다. – kjw0188

+1

@ 그레그, 당신의 공개 키 문제를 알아 냈습니까? 나는 그것도 가지고있다. – Civilian

6

권한 거부 오류의 경우 사용자가 만든 키를 사용하고 있는지 확인해야합니다. 이렇게하려면 ~/.ssh 디렉토리에 "config"라는 파일을 만듭니다. 다음과 같이 설정 파일을 채 웁니다 : 예

그냥 확인

  • 호스트 이름의 github.com
  • 사용자 자식
  • IdentityFile ~/스푸핑/id_rsa_gsg_keypair를
  • IdentitiesOnly 그 IdentityFile 값 키를 가리 킵니다. :)

    다음으로 확인하십시오. ssh -vT [email protected]

관련 문제