我已将 Git 存储库从网络上的共享文件夹移至运行 gitolite 的 SSH 服务器。我添加了一个公钥/私钥供 TeamCity 使用,并将 VCS 根指向它。这一切正常,因为测试连接成功并且我的构建配置显示了待处理的更改。
但是,当 TeamCity 尝试获取这些挂起的更改时,我收到以下错误:
'git fetch' command failed.
exception: Timeout exception
切换到详细日志记录我看到它在 90 秒后超时 - 我希望在正常情况下获取这些更改只需几秒钟。
自从我开始尝试解决问题以来,我已将 VCS 根更改为“默认私钥”并添加了所需的 .ssh 文件夹,其中包含 config、id_rsa 和 known_hosts 文件。我在日志中看到了指纹和密码消息,直到我将必要的内容放入这些文件中,现在我的服务器又回到了超时异常状态,就像我在 VCS 根目录中指定密钥时一样。
如果我从命令行运行 Git,我可以在没有任何提示的情况下克隆存储库(当我按上述方式设置 .ssh 文件夹时)。这是来自不同的用户帐户,因为 TC 在默认 SYSTEM 帐户下作为服务运行,但我认为这不是原因,因为正如我所说,我可以看到 TC 已经为此获取了对 .ssh 文件夹的更改帐户。
有什么问题?