我们一直在与我们的项目的持续集成有关的问题。偶尔,我们想要在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,如果程序挂起以强制关闭它?
你是如何运行NUnit的 - 你自己从脚本运行它,或者使用在生成步骤TeamCity的NUnit的亚军使用? – adrianbanks 2011-01-21 00:12:22
从包含在存储库本身的exe中自己运行它(nunit-console.exe)。 – Scott 2011-01-21 01:12:40
监视生成执行时正在构建代理上运行的进程。当它完成运行测试时,您可能不会终止nunit-console.exe,并在构建完成后留下拖延的进程。 – adrianbanks 2011-01-21 11:17:25