我正在建立我的第一个Hudson + Git项目(以前用Hudson + SVN做了很多).我期望克隆阶段很慢,因为我们的存储库非常大,但是使用fetch + merge的后续构建也同样长.启用以下选项:
在构建之前合并
结账后清洁
我没有做"擦掉工作区".
... Fetching changes from the remote Git repository Fetching upstream changes from git@github.com:username/ProjectFoo.git [Foo] $ git fetch -t git@github.com:username/ProjectFoo.git +refs/heads/*:refs/remotes/origin/*
此时它停滞了很长时间.一旦它最终完成,它似乎按预期进展:
[Foo] $ git ls-tree HEAD [Foo] $ git rev-parse origin/mybranch Commencing build of Revision c883d59dd5a506a0b586f679a256f539712bfccc (origin/mybranch) GitAPI created Checking out Revision c883d59dd5a506a0b586f679a256f539712bfccc (origin/mybranch) [Foo] $ git checkout -f c883d59dd5a506a0b586f679a256f539712bfccc [Foo] $ git tag -a -f -m "Hudson Build #2" hudson-Foo-2 Recording changes in branch origin/mybranch [Foo] $ git whatchanged --no-abbrev -M --pretty=raw c883d59dd5a506a0b586f679a256f539712bfccc..c883d59dd5a506a0b586f679a256f539712bfccc Cleaning workspace [Foo] $ git clean -fdx ...
当我fetch
从Git Bash命令行运行相同的命令时,它几乎立即运行.
知道可能会发生什么吗?或提示加快速度?注意,克隆的存储库是210MB.(大约十年的代码历史.)
我也遇到了这个问题,并想出了一个解决方法.当Hudson作为服务运行时,您的正常桌面环境会丢失一些东西,这会导致网络必须为每个进程重新加载.msys-1.0.dll尝试在netapi32.dll中加载某些东西导致它花费这么长时间.所以我刚刚从PuTTY下载了plink.exe,并将我的GIT_SSH env设置为使用它.问题避免了.