2017-01-19 2 views
4

GIT 플러그인 Jenkins를 사용하여 GIT 코드 양식을 가져 오려고 시도 중입니다. 작업이 종속 머신에서 실행 중입니다.Jenkins의 GIT 플러그인이 GIT 저장소에 연결할 수없는 이유는 무엇입니까?

MASTER 시스템 http_proxy=mycom.domain.com:80

을 가지며 SLAVE 시스템에 정의 http_proxy 없다.

SLAVE 컴퓨터에서 git clone을 로컬에서 수행 할 때마다 완벽하게 작동하지만 Jenkins에서 성공하지 못했습니다. 그것은 MASTER 시스템이 SLAVE 시스템에 존재하지 않는 HTTP 프록시를 설정하려고하기 때문에

Building remotely on SLAVE in workspace /data/test 
> /usr/bin/git rev-parse --is-inside-work-tree # timeout=10 
Fetching changes from the remote Git repository 
> /usr/bin/git config remote.origin.url https://github.domain.com/Project-Digital/Project-eCommerce.git # timeout=10 
Fetching upstream changes from https://github.domain.com/Project-Digital/Project-eCommerce.git 
> /usr/bin/git --version # timeout=10 
using GIT_ASKPASS to set credentials 
Setting http proxy: mycom.domain.com:80 
> /usr/bin/git fetch --tags --progress https://github.domain.com/Project-Digital/Project-eCommerce.git +refs/heads/*:refs/remotes/origin/* 
ERROR: Error fetching remote repo 'origin' 
hudson.plugins.git.GitException: Failed to fetch from https://github.domain.com/Project-Digital/Project-eCommerce.git 
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:803) 
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1063) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1094) 
    at hudson.scm.SCM.checkout(SCM.java:495) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1278) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604) 
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) 
    at hudson.model.Run.execute(Run.java:1728) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:404) 
Caused by: hudson.plugins.git.GitException: Command "/usr/bin/git fetch --tags --progress https://github.domain.com/Project-Digital/Project-eCommerce.git +refs/heads/*:refs/remotes/origin/*" returned status code 128: 
stdout: 
stderr: error: Failed connect to github.build.ge.com:80; Operation now in progress while accessing https://github.domain.com/Project-Digital/Project-eCommerce.git/info/refs 

인가 :

그것은 다음과 같은 오류를 던지고있다?

예인 경우 어떻게합니까?

아니면 내가 놓친 다른 것이 있습니까?

답변

0

프록시 문제였습니다. 젠킨스 사용 GIT의 코드를 당기면서

그것은 http_proxymycom.domain.com:80 행 (MASTER 장치 프록시)를 설정하고, 이러한 프록시는 SLAVE 시스템에서 요구되지 않았다.

젠킨스의 No Proxy Host 섹션 (Manage Jenkins -> Manage Plugins -> Advanced -> HTTP Proxy Configuration -> Added GIT URL in No Proxy Host field)에 GIT URL을 추가 했으므로 이제는 정상적으로 작동합니다.

1

프로젝트를 당겨 전에, 글로벌 구성에서 HTTP 프록시를 설정하려고 : 사용자 이름과 프록시 암호를 제공해야하는 경우

$> git config --global http.proxy http://mycom.example.com:80

, 당신은 사용할 수 있습니다

나는 또한 자식 저장소와 젠킨스를 설정 $> git config --global http.proxy http://example.com\\<yourUsername>:<yourPassword>@<yourProxyServer>:80

1

오늘은, 나를 위해 일한이 도움이되기를 바랍니다

젠킨스와 git를 연결하려면 다음 단계를 따르십시오.

1 단계 :. 플러그인의 성공적인 설치가이 같은 새 작업 생성 한 후 :

1.create을 작업 이름

은 받는다는 소프트웨어 프로젝트를 확인

3.click 빌드의 라디오 버튼을 2.checked

2 단계. 힘내에 대한 라디오 버튼을 확인하여 자식 저장소의 URI를 입력하십시오.

단계 3. 당신이 저장소에 연결하지 못했습니다

같은 오류가 표시됩니다 : 표준 출력 : 표준 에러 : 치명적 : 명령 "자식 LS-원격 -h [email protected] 헤드는"128 상태 코드를 반환 '자식 @ example.git '는 자식 저장소 치명적일 수 표시되지 않습니다

1 : 원격 끝이 예기치 않게

당신은 좀 더 구성 할 필요가 전화를 끊었다.터미널

2.Run이 명령에로 이동 sudo는 visudo를

3.Add의 %의 젠킨스 ALL = NOPASSWD : ALL sudo는 previlage이 파일을 닫습니다 defined.and입니다이 파일입니다. 명령을 통해 젠킨스 사용자로

4.login : sudo는 스와는 젠킨스의 홈 디렉토리에

5.Create SSH를 디렉토리를 젠킨스.

6. 이와 같이 공개 개인 키 쌍을 생성하십시오.

생성 SSH 키 :

1 : SSH 키의 확인

첫째, 우리는 당신의 컴퓨터에 SSH 키를 기존 확인해야합니다. 터미널을 열고 실행

CD ~/스푸핑 확인을 사용자 디렉토리에 "스푸핑"라는 디렉토리가 있는지

는 "해당 파일 또는 디렉토리"로 이동하지 말한다면 2 단계 그렇지 않으면, 당신은 이미 기존의 키 쌍을 가지고, 당신은 3

2 단계를 건너 뛸 수 있습니다 : 새로운 SSH 키를 생성하려면

키 새로운 SSH를 생성 아래의 코드를 입력합니다. 기본 설정이 필요하므로 키를 저장할 파일을 입력하라는 메시지가 표시되면 Enter 키를 누릅니다.

SSH-Keygen은 -t RSA -C "[email protected]"

는 공개/개인 RSA 키 쌍을 생성 레이블로 제공된 이메일을 사용하여 새 SSH 키를 생성합니다. 키를 저장할 파일을 입력하십시오 (/home/you/.ssh/id_rsa) : 이제 패스 프레이즈 나 file.press를 입력해야합니다. 아무 것도 쓸 필요가 없습니다.

귀하의 식별이 /home/you/.ssh/id_rsa에 저장되었습니다 당신이 뭔가를 제공해야

.

귀하의 공개 키는 /home/you/.ssh/id_rsa.pub에 저장되었습니다. 키 지문은 :

01 : 0F : F4 : 3B : CA : 85 : D6 : 17 A1 : 7D : F0 : 68 : 9D : F0 : A2 : DB your_email 예 @.COM

3 :

이동 계정 설정

4 GitHub의에 SSH 키를 추가 : 소스 관리 태그에서,

 Build Triggers- Build whenever a SNAPSHOT dependency is built 
     Root POM- /var/lib/jenkins/jobs/ProjectName/workspace/ProjectName/pom.xml 

에서 쉘 태그를 실행

스크립트를 실행할 수 있습니다.

마지막으로 빌드를 클릭하여 빌드를 만들고 콘솔을 열어 상태를 확인하십시오.

+0

"젠킨스"사용자를 ssh 키 쌍으로 이미 종료중인 사용자로 변경하는 것은 어떻습니까? – ANIL

+0

에 대한 답변은 이미 답변 된 질문입니다. http://stackoverflow.com/questions/15314760/managing-ssh-keys-within-jenkins-for-git – lazyborg