2012-05-31 2 views
11

MacOS에서 TeamCity 7 서버 및 에이전트를 실행하고 있습니다. 내 레포가 기저귀에있다. 나는 ssh를 사용하며 테스트가 성공적이기 때문에 인증이 올바르게 구성되었음을 알고 있습니다.TeamCity 에이전트 오류 "에이전트에서 체크 아웃을 수행하지 못했습니다."

VCS 체크 아웃 모드를 "서버에서 자동으로"사용하면 빌드가 정상적으로 작동하지만 VCS 체크 아웃 모드를 "에이전트에서 자동으로"사용하면이 오류가 발생합니다.

[13:40:35][Updating sources] Failed to perform checkout on agent: '/usr/bin/git fetch --progress origin +refs/heads/master:refs/remotes/origin/master' command failed. 
stderr: java.io.IOException: Authentication failed 
    at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:275) 
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:159) 
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:139) 
fatal: The remote end hung up unexpectedly 

무엇이 누락 되었습니까?

+1

에이전트에 올바른 ssh 키가 있습니까? VCS 루트 설정의 "연결 테스트"는 TeamCity 서버와 저장소 간의 연결 만 테스트합니다. – neverov

+0

나는 그런 행동을하지 않는다고 생각하지만, 어떻게 에이전트의 계정을 알아낼 수 있습니까? 대리인이 근무하는 계정을 변경할 수 있습니까? – mishod

+0

상담원 계정은 상담원이 시작된 계정입니다. 그래서 네, 당신은 그것을 바꿀 수 있습니다. – neverov

답변

17

빌드 구성에 configcity.git.use.native.ssh = true를 구성 매개 변수로 추가하십시오.

비슷한 문제를 해결하는 데 도움이 된 것은 무엇입니까? 나는 here에서이 트릭을 배웠다.

+0

이 힌트는 나를 위해 그것을 고쳤다. – cheez

+0

이것은 나의 날을 만들었다! 정말 고마워요! –

+1

이 [link] (https://youtrack.jetbrains.com/issue/TW-52052#comment=27-2607007)는 퍼티 SSH 키가있는 경우 유용 할 수 있습니다 (주석 스레드 참조) – sam9046

1

나에게 명백한 것은 서버의 기본 개인 키이 에이전트에 복사되어 사용되었습니다. 먼저 에이전트가 실행중인 사용자에게 개인 키를 추가하는 방법을 헛되이 시도했습니다 (분명히 에이전트 시스템에서). 그런 다음 서버 시스템에서 TeamCity를 실행하는 사용자에게 개인 키를 추가 한 다음 에이전트 측 체크 아웃이 작동하기 시작했습니다.

나는 또한 teamcity.git.use.native.ssh=true 속성을 사용했지만이 특정 문제에 도움이되지는 않는다고 생각합니다.

이 정보의 유일한 흔적은 this comment에있었습니다.