Jenkins(Windows)非常慢Git fetch

时间:2015-04-13 06:14:06

标签: git ssh jenkins jenkins-plugins git-fetch

我们在Windows Server 2012上的Jenkins安装上遇到了缓慢的git fetch命令。我已经尝试了这些线程中提到的所有解决方案:

任何人都能通过永久修复找到解决方案吗?

Jenkins的控制台输出日志:

  

由远程主机启动

     

在工作区F:\ Jenkins \ jobs \ xxx \ workspace

中构建主服务器      

> git.exe rev-parse --is-inside-work-tree #timetime = 10

     

从远程Git存储库中获取更改

     

> git.exe config remote.origin.url xhttp:// scm / git / xxx #timeout = 10

     

从xhttp:// scm / git / xxx

获取上游更改      

> git.exe --version #timeout = 10

     

使用.gitcredentials设置凭据

     

> git.exe config --local credential.helper store --file = \“C:\ Users \ APP_JE~1 \ AppData \ Local \ Temp \ git7476037793811743133.credentials \”#timetime = 10

     

> git.exe -c core.askpass = true fetch --tags --progress xhttp:// scm / git / xxx + refs / heads / :refs / remotes / origin /

问题在这里:上述命令可能需要30秒到120秒。在本地开发机器上需要几秒钟。

  

> git.exe config --local --remove-section credential #timetime = 10

版本信息:

  

詹金斯:1.608(最新)

     

Windows:Server 2012

     

Git:1.9.5(最新版Windows xhttp://git-scm.com/download/win)

     

Jenkins的Git客户端插件:1.16.1(最新)

     

Jenkins的Git插件:2.3.5(最新)

Jenkins作为域用户运行,该用户在服务器上具有管理员访问权限

3 个答案:

答案 0 :(得分:9)

Version 2.6.1 of the Git client for Windows解决了这个问题。现在它的速度非常快!

我在Jenkins中使用git cmd:

  

C:\ Program Files \ Git \ cmd \ git.exe

答案 1 :(得分:2)

使用高级克隆行为并启用"不提取标记"的复选框如果你不需要它们。 Git仍应检查您指定的分支/标记。

答案 2 :(得分:1)

尝试启用一些GIT的调试/性能标志,以获取有关其管道内部工作时间的更多信息,请参阅https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables。例如,export GIT_TRACE=1并尝试GIT_TRACE_PERFORMANCE和GIT_TRACE_PACKET。