Jenkins가 액세스 할 수있는 방식으로 자식 저장소 URL을 구성 할 수 없습니다.
"프로젝트> 구성> 소스 코드 관리"에서 저장소 URL을 "git @ store : repositories / testproject.git"로 설정했습니다.
이 오류가 발생합니다.
Failed to connect to repository : Command "/usr/bin/git -c core.askpass=true ls-remote -h git@store:repositories/testproject.git HEAD" returned status code 128:
stdout:
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
해당 URL을 통한 액세스는 쉘에서 작동합니다.
jenkins@dilbert:~$ /usr/bin/git -c core.askpass=true ls-remote -h git@store:repositories/testproject.git
git@store's password:
4fd35a4f528e2f2921a52cfd03918b7cbde3d253 refs/heads/master
암호를 묻는 메시지가 표시되고 작동합니다.
Jenkins의 자격 증명에 동일한 암호를 "git /"에 연결하고 "git @ store /"도 시도했습니다. 아무도 효과가 없었습니다.
Pleas는 이것이 github이 아니라 로컬 git 저장소에 관한 것입니다.
최신 정보:
jenkins 마스터의 pub 키를 빌드 슬레이브에 추가하면 구성 작업을 수행하는 데 도움이되었습니다.
ssh-copy-id jenkins@dilbert
이제 빌드가 실패합니다.
> /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 git@store:repositories/testproject.git # timeout=10
Fetching upstream changes from git@store:repositories/testproject.git
> /usr/bin/git --version # timeout=10
> /usr/bin/git -c core.askpass=true fetch --tags --progress git@store:repositories/testproject.git +refs/heads/*:refs/remotes/origin/*
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from git@store:repositories/testproject.git
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:735)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:983)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1016)
at hudson.scm.SCM.checkout(SCM.java:484)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1270)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:609)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:531)
at hudson.model.Run.execute(Run.java:1751)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: hudson.plugins.git.GitException: Command "/usr/bin/git -c core.askpass=true fetch --tags --progress git@store:repositories/testproject.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
store는 jenkins 마스터이고 dilbert는 빌드 슬레이브입니다. 마스터에서 슬레이브로 ssh.
jenkins@store:~$ ssh dilbert uptime
16:06:21 up 3 days, 18:53, 13 users, load average: 0,31, 0,38, 0,50
어떤 아이디어로 이것을 디버깅하는 방법?