【问题标题】:List remote refs failed: java.net.ConnectException: Connection time out: github.com列出远程引用失败:java.net.ConnectException:连接超时:github.com
【发布时间】:2014-02-19 10:34:00
【问题描述】:

我最近开始在我们的构建服务器上看到上述错误的频率越来越高。在此期间,我们的 TeamCity 配置没有任何变化,所以我猜测可能是 GitHub 的更改导致了错误。

我尝试将 VCS 轮询间隔从 60 秒更改为 600 秒,以防 GitHub 进行某种连接限制,但没有任何影响。

是否可以让 TeamCity 对连接超时不那么敏感?

【问题讨论】:

    标签: teamcity teamcity-8.0


    【解决方案1】:

    I've figured out the answer.

    TeamCity 没有问题 - 实际上是 AZURE 有问题。

    为了证明,请尝试在安装了 TC 的服务器中执行此操作。

    (当然是命令行)

    C:\git\bin\git.exe clone https://github.com/libgit2/libgit2.git

    这在大多数的时候不应该起作用。

    所以 AZURE 存在网络错误,他们知道并正在尝试解决问题。

    这些信息是在他们与 Azure 合作了解发生了什么之后通过 GitHub 提供的。

    结论

    您必须使用 SSH KEYS 作为当前的解决方法。

    【讨论】:

    • 这真的很有趣,我们的 TC 也确实在 Azure 上。当您说他们知道时,您是指 TC 还是 Microsoft?他们有什么官方消息吗?
    • MS 知道它,甚至有一张真正的公开票。
    • @Pure.Krome 是公票吗?可以分享一下票的链接吗?
    • 这与我遇到的情况完全相同:在 azure git 上构建框而不是 http 失败。我已切换到 SSH,目前运行良好。
    • 这让我们很痛苦。有谁知道解决了吗?
    【解决方案2】:

    我们降低了它的敏感度:现在 git-plugin 将在出现 ConnectException 的情况下重试操作。要获得这种行为,您需要从teamcity.jetbrains.com 安装最新版本的 git-plugin。为此,将构建工件中的 zip 文件放入 <TEAMCITY_DATA_DIR>/plugins 并重新启动服务器。

    【讨论】:

    • 感谢您的回复,我现在正在尝试,如果它适合我​​,会通知您。
    • 你能检查那个链接吗?它转到我们需要登录的页面?另外,自 TC v5 以来,GIT 是否已融入 TC,所以我们不需要下载任何额外的东西? (参考:confluence.jetbrains.com/display/TW/TeamCity+Plugins
    • @Pure.Krome 该链接确实会转到登录页面,但登录按钮下方有一个“以访客身份登录”文本链接。
    • @neverov - 我们是否需要使用 TC 版本 8.1a 执行此操作?如果是这样,为什么不包含在最新版本中?
    • @Pure.Krome 你在 8.1 中不需要这样做
    【解决方案3】:

    您针对该问题发布的信息很少。如果您可以通过电子邮件将团队发送到 teamcity-feedback@jetbrains.com 并提供来自 TeamCity 服务器的更多详细信息和调试日志,那就更好了

    一些容易检查的事情: * 您可以在浏览器中从服务器打开 github.com * 您可以从控制台从服务器中的 github.com 克隆

    【讨论】:

    • 如果我想问 JetBrains,我会:)
    【解决方案4】:

    我们今天(2018 年 2 月 23 日)突然遇到了这个错误。

    原来 GitHub.com 在他们的 ssh 实现中弃用了一些安全算法。

    解决方案:

    • 在受影响的 VCS 根目录中切换到“https://...” URL 并提供您的凭据以进行身份​​验证
    • 升级到最新的 TeamCity 版本

    这是来自 JetBrains 的公告:https://teamcity-support.jetbrains.com/hc/en-us/community/posts/360000115644-Builds-using-GitHub-com-fail-with-VCS-errors-since-February-22-FIX-AVAILABLE

    【讨论】:

      【解决方案5】:

      切换到 ssh 帮助我们避免了超时。

      【讨论】:

        【解决方案6】:

        正如@Pure.Krome 所说,您可以使用 SSH KEYS 来允许您访问 Azure TFS GIT URL,或者您可以通过选中“启用备用凭据”来修改“备用凭据”中的设置,以便您可以通过以下方式访问存储库只需使用用户名和密码。

        首先在 Azure DevOps 中转到您的项目:

        然后在 RHS 菜单中选择安全性:

        最后在 LHS 菜单中选择“Alternate Credentials”,然后点击“Enable authentication Alternative credentials”,然后输入您的用户名和密码:

        请注意,这不如使用 SSH KEYS 安全。

        【讨论】:

          【解决方案7】:

          即使在使用 ssh 时我也遇到了这个问题。我意识到有一个防火墙将所有 ssh 流量视为 ssh 暴力攻击。然后防火墙会阻止该请求。

          已添加防火墙规则来解决此问题。

          【讨论】:

            猜你喜欢
            • 2015-11-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-08-05
            • 1970-01-01
            • 2016-01-02
            相关资源
            最近更新 更多