我们正在开发一个项目,其中所有开发环境都使用 Vagrant 运行 Ubuntu 14.04 实例。我们的 CI 构建和部署服务器正在运行 RHEL 6.5。我们正在使用 DUO 构建 Nodejs 组件,并且在构建时,我们以编程方式从 git url 克隆依赖项。我们发现这在 Ubuntu 上一直有效,但在 RHEL 上挂起。当我们仔细观察时,我们发现以下命令有问题:
git ls-remote --tags --heads https://<username>:<authtoken>@github.com/<path-to-repo>
当它在我们的构建服务器实例上运行时,它不会返回任何数据,但在我们的 Ubuntu 上运行良好。
为了调试,我在云中使用了一个 RHEL 实例,发现我可以通过将 RHEL 随附的 1.7.x 版本的 git 升级到 1.9.4 来解决问题。但这不适用于构建实例。我看不出这两个实例的 git 配置有什么不同。由于我没有定期访问构建服务器的权限,因此我找到了一个 Centos 映像,可以在其中重现该问题。我已经剥离了它和我的 ubuntu 映像上的 git config 设置,因此它们是相同的。我看不出是什么导致了问题。
有任何想法吗?