2

这个问题与这个问题相同但与 Perforce 而不是 SVN 有关。在 Perforce 中,我们有这些分支:

Development\ProjectA\Trunk 
Development\ProjectA\Release1
Development\ProjectA\Release2

在 TeamCity 中,应该有 3 个单独的 VCS 根还是 1 个为每个构建指定签出规则?

按照链接问题中接受的答案的建议,我更改了我们的设置,让一个 VCS 根目录包含所有内容。初始结帐需要 45 分钟,性能非常糟糕。

构建配置设置为检查服务器端并具有检查规则,例如:

-:.
+:Development/ProjectA/Trunk 

我担心这个设置是不可扩展的。如果有 3 个分支需要 45 分钟,那么更多的版本和结帐时间将令人望而却步。为 TeamCity 中的大型存储库设置 Perforce VCS 根的最佳实践是什么?

4

2 回答 2

3

联系 Jetbrains 支持后,得到的答案是:

结帐规则在 Perforce 和服务器端结帐时效率不高,对于这个性能问题,我们有一个单独的问题,但我现在不能告诉你它的 ID。现在,通过服务器端签出,TeamCity 签出整个 VCS 根目录,然后根据签出规则过滤必要的数据。

您的问题的解决方案可能是:

  • 在代理上使用结帐。TeamCity 通过根据 VCS 根配置和签出规则创建专用的 perforce 工作区,高效地执行代理端签出。
  • 在服务器上使用结帐,但使用专用的 VCS 根配置。
于 2013-07-22T09:25:36.403 回答
0

所描述的问题应该在即将发布的 TeamCity 10.0.2 版本中得到解决,这是 TeamCity 跟踪器中的问题:

https://youtrack.jetbrains.com/issue/TW-13453

于 2016-08-30T10:19:56.723 回答