git 在 CentOS 7 上由 Terraform 或 Molecule 执行 URL 中使用用户和密码的 https 克隆非常慢
git https clone with user & password in URL is very slow when performed by Terraform or Molecule on CentOS 7
我知道 git 克隆速度慢是网络上的一个热门话题,但浏览了一段时间后,我找不到任何似乎与我的具体问题相匹配的内容。
我有一个本地 Gitlab 服务器,其中托管 Terraform 模块和 Ansible 角色等。这些分别由 Terraform 本身和 Molecule 测试工具克隆。通常,但并非总是如此,当我在 CentOS 7 机器上使用这些工具时,它们都需要几分钟来克隆小型存储库。正如预期的那样,从命令行克隆相同的存储库只需要很少的时间。它们的共同点是它们被配置为使用嵌入了用户名和密码的 https URL,如:
https://user:password@host/repository.git
在 运行从 Windows 10 使用相同的 Terraform 命令时,我从未遇到过这个问题。
有什么我可以尝试加快速度的吗?我知道我可以尝试切换到 ssh,但尤其是 terraform 运行 嵌入在一个相当复杂的管道中,进行这样的更改会有些复杂。
更新
我注意到这个问题随着时间的推移变得更糟。在启动我工作的 VM 后,我只是 运行 Molecule 几次。前几次克隆速度很快,现在变慢了。这可能与熵有关吗?
更新 2
我注意到,如果我在 Molecule 卡住时中断它并立即重新启动它,第二次结帐时会立即执行。
只克隆一个分支并且只克隆最新版本:
git clone -b master --single-branch --depth 1 $repo
自从我将系统的 git 软件包升级为较新的软件包后,我就再也没有遇到过这个问题。可能是credential-cache的问题,具体是不是我没验证过
如果有人感兴趣,我从 IUS repository
安装了 git2u
包
我知道 git 克隆速度慢是网络上的一个热门话题,但浏览了一段时间后,我找不到任何似乎与我的具体问题相匹配的内容。
我有一个本地 Gitlab 服务器,其中托管 Terraform 模块和 Ansible 角色等。这些分别由 Terraform 本身和 Molecule 测试工具克隆。通常,但并非总是如此,当我在 CentOS 7 机器上使用这些工具时,它们都需要几分钟来克隆小型存储库。正如预期的那样,从命令行克隆相同的存储库只需要很少的时间。它们的共同点是它们被配置为使用嵌入了用户名和密码的 https URL,如:
https://user:password@host/repository.git
在 运行从 Windows 10 使用相同的 Terraform 命令时,我从未遇到过这个问题。
有什么我可以尝试加快速度的吗?我知道我可以尝试切换到 ssh,但尤其是 terraform 运行 嵌入在一个相当复杂的管道中,进行这样的更改会有些复杂。
更新
我注意到这个问题随着时间的推移变得更糟。在启动我工作的 VM 后,我只是 运行 Molecule 几次。前几次克隆速度很快,现在变慢了。这可能与熵有关吗?
更新 2
我注意到,如果我在 Molecule 卡住时中断它并立即重新启动它,第二次结帐时会立即执行。
只克隆一个分支并且只克隆最新版本:
git clone -b master --single-branch --depth 1 $repo
自从我将系统的 git 软件包升级为较新的软件包后,我就再也没有遇到过这个问题。可能是credential-cache的问题,具体是不是我没验证过
如果有人感兴趣,我从 IUS repository
安装了git2u
包