TeamCity陷入了一个Git仓库的“更新资源”

时间:2013-09-12 14:22:16

标签: git teamcity teamcity-8.0

我刚刚在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再次锤击它。

关于如何解决此类问题还有其他建议吗?

3 个答案:

答案 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)

使用Build configuration Actions菜单中的Enforce Clean Checkout选项。

TeamCity - Enforce Clean Checkout

下次运行构建时,它将重新创建本地git repo并应恢复正常。