【发布时间】:2014-04-28 13:04:07
【问题描述】:
我正在 AWS 云上运行带有 3 个代理的 TeamCity 8.1.2 构建服务器。
在完成 NUnit 构建步骤后,我遇到了异常长的延迟。我刚刚运行了 30,000 多个单元测试,大约需要 3 分钟才能完成。然而,构建日志显示该步骤需要 11 分钟才能完成(至少,有时需要 15 分钟),其中大部分似乎是由于 TeamCity 内部的步骤结束时的延迟。
编辑这个延迟随着时间的推移而增加,过去的构建在 5-6 分钟内完成。
这是一个相当快速运行的构建日志的摘录。请注意“进程退出”和“##teamcity”之间的 7 分钟延迟:
[22:39:17]Step 6/7: Run Unit Tests (NUnit) (11m:26s)
[22:39:17][Step 6/7] ##teamcity[buildStatisticValue key='buildStageDuration:buildStepRUNNER_20' value='0.0']
[22:39:17][Step 6/7] Starting: D:\BuildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
[22:39:17][Step 6/7] in directory: D:\builds\X.Web\Build
[22:39:30][Step 6/7] Start TeamCity NUnit Test Runner
[22:39:30][Step 6/7] Running NUnit-2.6.3 tests under .NET Framework v4.0 x64
[22:39:39][Step 6/7] X.Tests.dll (2m:39s)
[22:42:59][Step 6/7] X.ServiceInterface.Tests.dll (1s)
[22:43:04][Step 6/7] X.Data.Tests.dll (24s)
[22:43:30][Step 6/7] Process exited with code 0
[22:50:44][Step 6/7] ##teamcity[buildStatisticValue key='buildStageDuration:buildStepRUNNER_20' value='686467.0']
[22:50:44]Step 7/7: Pack Feed NuGet Packages (NuGet Pack) (6s)
有什么想法吗?我会向 jetbrains 提供支持票,但我想我会把它扔给社区,以防有人以前见过它。提前感谢您的帮助。
【问题讨论】:
-
猜想:nunit 的输出非常大,处理它需要这么多时间?
-
@FransBouma 听起来不错,但似乎并非如此。检查构建历史记录后,使用相同数量的测试在 4-5 分钟内运行相同的步骤。看起来随着时间的推移而退化,明显的变量是 TeamCity 版本升级或日志积累。