繁体   English   中英

因为NUnit锁定文件,TeamCity构建失败?

[英]TeamCity Build Fails Because NUnit is Locking Files?

我们的项目的持续集成一直存在问题。 有时,我们想尝试在TeamCity的checkout目录中清除构建中的所有文件。 每当我们尝试执行此操作时, nunit-agent.exe最终都会保持先前构建的打开状态,并产生以下错误:

[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如果程序挂起以强制关闭它?

使用Swabra插件,Luke默认情况下包含

您是否设置了“如果运行比x慢的失败版本”会失败?

参见http://confluence.jetbrains.net/display/TCD5/1。常规设置

选中此选项,然后输入以分钟为单位的值,以启用对构建的时间控制。 如果超过指定的时间量,构建将自动取消。 此选项有助于处理挂起的构建并保持代理效率。

我没有惊人的见解,只有显而易见的:

  1. 更新到最新版本通常会有所帮助。
  2. 失败的“完整版本(开发分支)”是使用“代理方结帐”的唯一配置吗? 我看过的所有其他人都使用“服务器端结帐”。 我对两者之间的差异不是专家,但您确定需要吗?

我也有这个问题。 我升级到2.6.012035,现在可以使用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM