【发布时间】:2016-11-30 05:43:38
【问题描述】:
(26.07.2016)我在 VM 中使用 TFS2015 Update3。 当我尝试通过 Web 界面或团队资源管理器对构建进行排队时,我得到以下信息。 然后我在 services.msc 中重新启动所有与 TFS 相关的服务,一段时间后它又开始工作了。
所以这种情况发生得太频繁了。
有没有办法调试这种行为?
检查日志文件
Link to Worker log file
Link to Agent log file
此处按此顺序发生异常:
- 检查工件目录是否存在
C:\workspaces\agent\_work\2\a - 删除工件目录
- System.ComponentModel.Win32Exception (0x80004005):目录不为空
在 Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryLongPath(字符串路径、布尔递归、布尔跟随节点)
奇怪的是,排队新构建大部分时间都有效,这种情况只是偶尔发生
可能是我在记事本中打开了该文件夹中的一个文件,并打开了许多选项卡。将观察此问题是否仍然存在并报告。
【问题讨论】:
-
我已经看到当构建定义处于无效状态时会发生这种情况,即它被保存而没有验证错误,但配置的某些方面是错误的。一个具体示例是尝试在服务器路径映射中使用变量,例如
$\myapp\$(branch)在存储库选项卡下。这导致构建只是等待代理,这非常无益。我还没有找到调试它的方法。 -
好的,但在我的情况下,构建代理正在工作,然后它像上面解释的那样挂起。然后我在我能找到的服务下重新启动每个 TFS 服务。关闭网页。排队一个新的构建,然后它会在一段时间后再次工作。我还经历过的是,有时它会挂起但构建在后台运行,我可以看到放置文件夹被填充。不确定这一点,也许我已经将多个构建一个接一个地排在队列中......很高兴知道从哪里开始挖掘......
-
您检查了 \agent_diag 中的日志吗?那里有什么有用的信息吗?另外,请确保您的代理服务处于运行状态。
-
在我的问题末尾添加了日志文件。现在我可以在日志中看到以下异常:出现
DeleteDirectoryLongPath和Win32Exception和TaskCanceledException... -
System.ComponentModel.Win32Exception (0x80004005): The directory is not empty