我刚刚在Windows上设置TeamCity 8.0,在四个独立的Git存储库中构建项目(Visual Studio解决方案)。它正在按预期工作在其中三个,但在一个它被卡在更新源。四个VCS根的设置是相同的(除了Git repo获取URL)。
所有TeamCity项目都使用服务器端结账。
有问题的项目的构建日志包含
[15:36:34]:bt1(跑41米:38秒)
[15:36:34]:检查更改(运行41米:37秒)
[15:36:37]:发布内部工件
[15:36:38]:[发布内部工件]发送build.start.properties.gz文件
[15:36:37]:清除临时目录:C:\ TeamCity \ buildAgent \ temp \ buildTmp
[15:36:37]:结帐目录:C:\ TeamCity \ buildAgent \ work \ 62d0281b7178c739
[15:36:37]:更新来源:服务器端结账(运行41米:34秒)
[15:36:38]:[更新资源]将执行干净的结账。原因:代理没有任何版本的项目源
[15:36:38]:[更新资源]为VCS root构建和缓存干净补丁:git@qa.company.com:Company.WebSite.git#master
在构建代理上使用Process Monitor我可以看到它正在使用 ReadFile 操作锤击以下文件夹。
C:\ ProgramData \ JetBrains的\ TeamCity的\ SYSTEM \缓存\ GIT中\ GIT-11F9493A.git \对象\包\包-1490ccc8f7896ab876413465c4b48e87448bed35.pack
.pack 文件的大小约为300MB,我相信它与Git repo的大小相同。
我已经尝试删除此文件夹并重新启动TeamCity构建代理并构建服务器Windows服务,但它只是重新创建,然后TeamCity再次锤击它。
关于如何解决此类问题还有其他建议吗?
答案 0 :(得分:6)
接受的答案中的情景不适用于我。我能够通过简单地为同一个repo创建一个新的VCS根目录并将其附加到我的构建配置来解决问题。
答案 1 :(得分:5)
我在TeamCity forums上交叉发布了这个,并在那里得到了答案。
TeamCity的默认文件大小限制为128MB;如果您的仓库中有或曾经大于此限制的文件,那么repo克隆将失败。
我们的repo中有一个SQL脚本,大小约为200MB。
修复方法是在TeamCity中设置internal parameter以增加此限制:
teamcity.git.stream.file.threshold.mb=256
答案 2 :(得分:4)