2013-07-18 2 views
1

Red Hat Enterprise 5에서 Hudson을 실행하고 있습니다. Hudson에서 Git을 사용하여 원격 저장소를 복제합니다.원격 저장소를 복제 할 수 없습니다.

Cloning the remote Git repository 
Cloning repository origin 
ERROR: Error cloning remote repo 'origin' 
hudson.plugins.git.GitException: Could not clone <repo url> 
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:241) 
    at hudson.plugins.git.GitSCM$3.invoke(GitSCM.java:972) 
    at hudson.plugins.git.GitSCM$3.invoke(GitSCM.java:919) 
    at hudson.FilePath.act(FilePath.java:791) 
    at hudson.FilePath.act(FilePath.java:773) 
    at hudson.plugins.git.GitSCM.gerRevisionToBuild(GitSCM.java:919) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:698) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1515) 
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:521) 
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:428) 
    at hudson.model.Run.run(Run.java:1390) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:40) 
    at hudson.model.ResourceController.execute(ResourceController.java:82) 
    at hudson.model.Executor.run(Executor.java:137) 
Caused by: hudson.plugins.git.GitException: org.eclipse.jgit.api.errors.TransportException: <repo url>: not authorized 
    at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:234) 
    at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:221) 
    at hudson.FilePath.act(FilePath.java:791) 
    at hudson.FilePath.act(FilePath.java:773) 
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:221) 
    ... 13 more 

나는 위의 추적에서 "권한이 없습니다"를 참조하십시오, 그래서 설치 망할 놈의 계정 (사용자 이름/암호)를하지 않았기 때문에 나는이 수도 같아요 코드를 복제 할 때 나는이 오류가 발생합니다. 허드슨의 모든 구성을 검색하고 구성했지만 구성 할 수 있지만 암호를 지정할 위치를 찾을 수 없습니다. 제발 도와주세요!

+0

'에 자식 - 플러그인 설정에서 동일한 기능을 수행 할 수있는 'URL은 비어있는 것 같다. 정상적인가요? 아니면이 문제의 기밀성 이유로 출력에서 ​​제거 했습니까? – VonC

+0

예, 기밀성을 위해 제거했습니다 –

답변

0

AFAIK, Hudson은 별도의 사용자로 실행되므로 허드슨은 복제를 시도하는 동안 인증 할 개인 키를 검색합니다. 당신이해야

, 루트로

스위치

$sudo -i 

그런 다음

$su hudson 

것은에서 SSH 키

$ssh-keygen -t rsa -C 'email_id_for_authentication' 

복사 공개 키를 생성 허드슨 사용자로 전환합니다. ssh 폴더 ~ 허드슨 (허드슨 사용자의 홈 폴더)

원격 저장소에 추가하십시오. 사용자 hudosn의 자식에 대한

설정 user.email이

$git config --global user.email "email_id_for_authentication" 

당신은 Manage Hudson > Configure System

+0

문제는 원격 저장소에 아무것도 넣을 수 없다는 것입니다. Windows에서 사용자 이름/암호를 _netrc 파일에 넣고 원격 코드를 복제 할 수있는 방법이 있습니까? –

+0

그것의 양방향 인증, 원격 ssh 클라이언트 연결을 알고 있어야 인증 된 하나, 그래서 당신의 공개 키가 필요합니다. B/W 공공 github repos 얘기하는거야? 그렇다면 git/ssh 프로토콜 대신 https를 repo url로 사용하십시오. –

+0

사용자 이름/비밀번호가 필요한 개인 github repos는 –

관련 문제