【问题标题】:How to resolve a timeout exception when TeamCity fetches changes from a SSH Git repositoryTeamCity 从 SSH Git 存储库获取更改时如何解决超时异常
【发布时间】:2011-10-22 12:59:01
【问题描述】:

我已将 Git 存储库从网络上的共享文件夹移至运行 gitolite 的 SSH 服务器。我添加了一个公钥/私钥供 TeamCity 使用,并将 VCS 根指向它。这一切正常,因为 Test Connection 成功并且我的构建配置显示了待处理的更改。

但是,当 TeamCity 尝试获取那些挂起的更改时,我收到以下错误:

'git fetch' command failed.
exception: Timeout exception

切换到详细日志记录我发现它在 90 秒后超时 - 我希望在正常情况下获取这些更改只需几秒钟。

自从我开始尝试解决问题以来,我已将 VCS 根更改为“默认私钥”,并添加了所需的 .ssh 文件夹,其中包含 config、id_rsa 和 known_hosts 文件。我在日志中看到了指纹和密码消息,直到我将必要的内容放入这些文件中,现在我的服务器又回到了超时异常状态,就像我在 VCS 根目录中指定密钥时一样。

如果我从命令行运行 Git,我可以在没有任何提示的情况下克隆存储库(当我如上所述设置 .ssh 文件夹时)。这是来自不同的用户帐户,因为 TC 在默认 SYSTEM 帐户下作为服务运行,但我认为这不是原因,因为正如我所说,我可以看到 TC 已经为此获取了对 .ssh 文件夹的更改帐户。

可能出了什么问题?

【问题讨论】:

    标签: git ssh teamcity gitolite


    【解决方案1】:

    您已经为 TeamCity 服务器设置了密钥,但您是否也为代理设置了密钥?这可以解释为什么在配置中测试连接有效,但在代理执行时却无效。

    调试问题的快速方法:

    在VCS设置里,把VCS Checkout mode改成Automatically on server看看能不能用?

    更新:

    您可以登录到 TeamCity 服务器并以 teamcity 用户身份从您的 git 存储库运行 manula git clone 吗?这样您就可以看到它在工作,也可以保存为受信任的主机等。

    【讨论】:

    • 我认为(默认情况下)服务器进行了结帐并将源发送给构建代理。这不正确吗?
    • @GraemeF - 你能验证VCS checkout mode吗?请参阅我的更新答案。
    • 它已经设置为“自动在服务器上”,这是默认设置。
    • @GraemeF 您可以登录到 TeamCity 服务器并以 teamcity 用户身份从您的 git repo 运行 manula git clone 吗?通过这种方式,您可以看到它正在工作,也可以保存为受信任的主机等。
    • 我只是在尝试,并意识到我不能从服务帐户轻松完成。当我从管理员帐户 ssh 到我的服务器时,我收到了指纹提示,但我无法从其他帐户回答。
    【解决方案2】:

    我没有使用过team city,但我使用GO(来自thinkworks)进行持续集成,我遇到了类似的问题。

    您能否检查在构建代理上运行任务的用户的环境变量路径。 如果您使用的是 msysgit,则来自 msysgit 的 bin 和 cmd 文件夹都应该在路径中。

    【讨论】:

      【解决方案3】:

      当你有大量的 repo 时会发生这种情况。可以关注下recommendation

      增加 OSX 或 Linux 用户机器的超时时间:

      1. 创建 ~/.ssh/config 文件(如果尚不存在)
      2. 将 SSH ServerAliveInterval ServerAliveCountMax 设置添加到文件中,例如:

      主机 *
      ServerAliveInterval 86400
      ServerAliveCountMax 4

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-06
        • 1970-01-01
        • 2019-01-16
        • 1970-01-01
        • 2020-05-29
        • 2014-04-13
        相关资源
        最近更新 更多