2011-01-19 47 views
2

我们一直在与我们的项目的持续集成有关的问题。偶尔,我们想要在TeamCity的checkout目录中清除所有构建的文件。每当我们试图这样做,nunit-agent.exe结束了剩余的开放时间从以前的构建,产生以下错误:由于NUnit锁定文件,TeamCity构建失败?

[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\UnitTestResults.xml 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit-console-runner.dll 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.core.dll 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.core.interfaces.dll 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.util.dll 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\nunit-agent.exe 

我们总是要问别人谁有权访问框中的构建开始之前,需要手动杀死进程再次工作。 NUnit有什么理由必须无限期地开放(我们可以等待24小时,它仍然会挂起)?在我们的构建脚本中是否需要使用一些命令来迫使它终止,或者告诉TeamCity,如果程序挂起以强制关闭它?

+0

你是如何运行NUnit的 - 你自己从脚本运行它,或者使用在生成步骤TeamCity的NUnit的亚军使用? – adrianbanks 2011-01-21 00:12:22

+0

从包含在存储库本身的exe中自己运行它(nunit-console.exe)。 – Scott 2011-01-21 01:12:40

+1

监视生成执行时正在构建代理上运行的进程。当它完成运行测试时,您可能不会终止nunit-console.exe,并在构建完成后留下拖延的进程。 – adrianbanks 2011-01-21 11:17:25

回答

0

您是否厌倦了设置“如果运行比x更安静的失败构建”设置?

http://confluence.jetbrains.net/display/TCD5/1.General+Settings

选中此选项,并在 分钟输入一个值,以使在 生成时间控制。如果超过了指定的时间量 ,则构建为 会自动取消。此选项 有助于处理挂起 并保持代理效率的构建。

0

对我而言没有惊人的洞察力,只有明显的:

  1. 更新到最新版本通常有助于。
  2. 失败的“完整构建(开发分支)”是唯一使用“代理侧结算”的配置吗?我看到的其他人都使用“服务器端结账”。我不是专家,但你确定你需要它吗?
0

我也有这个问题。我升级到2.6.012035,它现在为我工作。

0

使用Swabra插件,卢克 它默认包含

相关问题