2016-12-23 2 views
0

해당 플러그인을 사용하여 git 저장소를 복제하도록 Jenkins를 설정하려고합니다.Jenkins git 인증이 자격증 명을 사용하는 동안 실패합니다.

그러나 나는 이유를 모르지만 인증을 시도 할 때 실패합니다.

나는 젠킨스를 통해 자격 증명을 정의하기 위해 시도했지만 실패 :

Building in workspace /var/lib/jenkins/workspace/CLARA 
> /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://hola.int/git-repos/ # timeout=10 
Fetching upstream changes from https://hola.int/git-repos/ 
> /usr/bin/git --version # timeout=10 
using GIT_ASKPASS to set credentials Access to CLARA 
Setting http proxy: proxy.es:80 
> /usr/bin/git fetch --tags --progress https://hola.int/git-repos/ +refs/heads/*:refs/remotes/origin/* 
ERROR: Error fetching remote repo 'origin' 
hudson.plugins.git.GitException: Failed to fetch from https://hola.int/git-repos/ 
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:1729) 
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://hola.int/git-repos/ +refs/heads/*:refs/remotes/origin/*" returned status code 128: 
stdout: 
stderr: fatal: Authentication failed for 'https://hola.int/git-repos/' 

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1745) 
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1489) 
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:64) 
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:315) 
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:801) 
... 11 more 

가 나는 또한 자격 증명을 비워두고 노력하고 사용자가/저장소에 자식 경로를 전달 포함, 그러나 그것은 또한 실패 :

Building in workspace /var/lib/jenkins/workspace/CLARA 
> /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://XXXX:[email protected]/git-repos/ # timeout=10 
Fetching upstream changes from https://[email protected]/git-repos/ 
> /usr/bin/git --version # timeout=10 
Setting http proxy: proxy.es:80 
> /usr/bin/git fetch --tags --progress https://[email protected]/git-repos/ +refs/heads/*:refs/remotes/origin/* 
ERROR: Error fetching remote repo 'origin' 
hudson.plugins.git.GitException: Failed to fetch from https://[email protected]/git-repos/ 
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:1729) 
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://[email protected]/git-repos/ +refs/heads/*:refs/remotes/origin/*" returned status code 128: 
stdout: 
stderr: fatal: Authentication failed for 'https://[email protected]/git-repos/' 

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1745) 
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1489) 
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:64) 
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:315) 
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:801) 
... 11 more 

그러나 Jenkins 노드에서 저장소를 복제하려고하면 작동합니다. 젠킨스가하는 일을하는 것 :

git config --global http.proxy http://proxy.es:80 
/usr/bin/git fetch --tags --progress https://[email protected]/git-repos/ +refs/heads/*:refs/remotes/origin/* 

비밀 번호를 물어보고 계속 실패하지 않습니다. 패스를 사용

도 작동합니다

git config --global http.proxy http://proxy.es:80 
/usr/bin/git fetch --tags --progress https://XXXX:[email protected]/git-repos/ +refs/heads/*:refs/remotes/origin/* 

내 그물 프록시 받고있다. 하지만 젠킨스에 프록시 세부 정보를 이미 포함 시켰고 git plugin이 이것을 사용해야합니다.

젠킨스 버전은 2.37이며 git plugin 3.0.1.

빌드는 Docker 플러그인을 사용하여 Docker 컨테이너에서 수행됩니다. 그러나 나는 그것이 중요하지 않다고 생각한다. Docker가 없으면 같은 문제가 발생합니다. 내가 전에 확인한 것은 젠킨스가하는 것을 정확히 복제하기 위해 고정 이미지에 컨테이너를 만드는 것이 었습니다.

도움 주시면 감사하겠습니다.

+0

디버그하기가 어렵습니다. 하지만 어쩌면 당신은 HTTP뿐만 아니라 당신의 자식 플러그인을위한 https_proxy = http : //proxy.es : 80을 지정할 필요가 있을까요? 인증 실패 오류는 이상합니다. – lvthillo

+0

감사하지만 git plugin의 프록시 옵션을 지정하는 방법을 모르겠습니다. – cardogar

+0

게시자는 OP 회사의 대리인 문제로 폐쇄되었습니다. –

답변

1

jenkin의 자격 증명과 git 자격 증명이 동일하면 실패합니다. 작동하는 jenkins 자격 증명을 변경하십시오.

+0

제안 해 주셔서 감사합니다. 나는 당신이 의미하는 것을 완전히 이해하지 못합니다. 'https : // XXXX : YYYY @ hola.int/git-repos /'를 통해 git 자격 증명을 사용할 때 jenkins 자격 증명을 비활성화합니다 (작업의 구성에서 -none- 옵션을 선택합니다). 젠킨스 시스템에서 git 전역 설정 변수를 설정할 수 없습니다. 젠킨스 구성을 무시한 이후에 작동하지만 (테스트 한), Docker 이미지에서 "하드 코드"할 수 없습니다. – cardogar