构建TFS构建服务器比构建本地机器花费更多的时间



我正在处理一个由多个解决方案组成的应用程序。

当我在本地机器上构建它们时,大约需要6分钟。但是当在TFS构建服务器上构建它时——这是一个运行windows server 2003 R2的虚拟机,带有TFS代理2010,它需要花费40分钟。

我正在使用非增量构建(并且意识到它需要更多的时间……),并且获取源代码部分只需要大约2分钟。

我不明白为什么它比本地构建要花这么长时间。在我的本地机器上构建一个解决方案大约需要1.5分钟,在该服务器上则需要大约9分钟。

有什么想法/技巧/建议为什么会发生/如何解决这个问题?

我尝试使用并行构建(使用/m:4),但它失败了,我可能有一些定义错误的依赖关系或其他东西(我将检查以后…)。

虚拟机构建服务器是一个四核,4G RAM。

我直接在该服务器上使用MSBuild,当代理运行完整构建时,需要7.5-9.5分钟的解决方案只需要2.5分钟。有没有什么TFS构建代理可以解释这一点?(我真的不明白…)

谢谢你,年轻的程序员。

您可以将'Logging verbose '设置为'Diagnostic'(在queue build的Parameters选项卡中)

运行完之后,打开Build,然后点击"View Log"。在将被填充的长列表中,每个部分将在右侧有一个"Duration"指示。

我会研究一下这个日志,看看你的延误是怎么来的。

  1. 试着检查性能摘要,以了解为什么它需要这么多时间-建立我的项目。csproj/noconsolelogger/l: ConsoleLogger Microsoft.Build.Engine.dll; performancesummary
  2. 检查是否在构建服务器上启用了并行构建
  3. 检查您的虚拟机HW是否与本地机器相当
  4. 检查是否已禁用防病毒以不检查构建中的病毒目录
  5. 检查你的性能管理器,为什么它需要这么长时间,哪些进程在构建过程中同时运行…

最新更新