TeamCity代理错误“无法在代理上执行结帐”

时间:2012-05-31 20:48:54

标签: github teamcity agent teamcity-7.0

我在MacOS上运行TeamCity 7服务器和代理。我的回购是在github上。我使用ssh,我知道验证配置正确,因为测试成功。

当我使用VCS Checkout模式“在服务器上自动”时,构建工作正常,但是当我使用VCS Checkout模式“Automatically on agent”时,我收到此错误。

[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

我错过了什么?

2 个答案:

答案 0 :(得分:21)

尝试将teamcity.git.use.native.ssh = true作为配置参数添加到构建配置中。

这是帮助我解决类似问题的原因。我从here学到了这个技巧。

答案 1 :(得分:1)

对我来说显而易见的是,服务器上的默认私钥 被复制到代理并在那里使用。我首先尝试将私钥添加到代理运行的用户(显然在代理机器上)。但后来我将私钥添加到在服务器计算机上运行TeamCity的用户,然后代理端签出开始工作。

我也使用了teamcity.git.use.native.ssh=true属性,但我认为这对这个特殊问题没有帮助。

此信息的唯一痕迹位于this comment