【发布时间】:2014-02-27 14:52:27
【问题描述】:
我需要一些关于如何诊断悬挂构建的建议。这只是在过去一两周内发生的,我有充分的理由怀疑这是我最近所做的事情,而不仅仅是巧合
设置
- TFS 2013
- 4 台机器设置 - 2 个应用层(正在弃用其中一个)、1 个 sql 服务器、1 个运行 2 个代理的构建服务器。
- 构建控制器与作业代理一起在第二个应用层上运行
- 第一个应用层正在为网站提供服务(尽管该机器将很快关闭,并且随着机器变旧,所有内容都将传递到第二个应用层)
症状
- 所有执行的构建(似乎与哪个构建过程模板无关)永远不会被标记为完成,最后一步似乎总是相同的步骤“将文件复制到放置位置”/“工作区并将文件复制到放置位置” ”/”Copy Binaries to drop,Reset the environment”(在每个构建模板中命名不同)
- 文件似乎已成功删除到构建放置文件夹中
- 查看任务管理器,似乎构建服务器上的所有构建过程都已退出(仅 TFSBuildServiceHost
- 构建在执行时显示其正常步骤/日志记录
- 主要应用层在事件日志中有相关警告(请参阅下面的警告)
最近的变化
- 在构建服务器上安装了 Xamarin Android/iOS
- 为 Job Agent、Message Queue 和 Web 服务安装了一些自定义构建的插件(多年来一直使用它们,但由于应用层迁移,它们在最近几周被禁用)
- 安装了 Tiago 的任务板增强器(又用了很长时间,最近才被禁用)
- 大约一个月前,我们添加了第二个应用层并将 sql 移到另一台机器上
我的尝试
- 重新启动应用层和构建服务器
- 卸载 Xamarin(尽管我怀疑某些部件仍在浮动,因为 Bonjour 服务似乎仍在安装)
- 删除自定义插件
- 在其中一个版本上直接启用了日志记录诊断 - 似乎没有什么特别感兴趣的问题出现
- 运行最佳实践分析器(没有什么异常出现)
- 多个构建过程模板(defaulttemplate、defaulttemplate.11.1、tfvctemplate.12.xaml)
- 多个构建定义
- 检查了 AppTiers 和 Build server 的事件日志
Team Foundation 服务主机请求监视器检测到 以下条件:日期(UTC):2014 年 3 月 2 日凌晨 12:54:06 机器: CODEBASE 应用领域:/LM/W3SVC/1/ROOT/tfs-1-130357641583538280 程序集:Microsoft.TeamFoundation.Framework.Server,版本=12.0.0.0, 文化=中立,PublicKeyToken=b03f5f7f11d50a3a; v4.0.30319 服务 主机:0dc282b5-59a8-4941-b541-a4f7d314cd0f 进程详情:进程 名称:w3wp 进程 ID:2508 线程 ID:2504
详细信息:对服务主机 XXXX 的请求已在执行 37 秒,超过 30 的警告阈值。 请求详细信息:请求上下文详细信息 网址:/tfs/XXXX/XXXX/_api/_build/stop?__v=4 方法:ApiBuild.stop 参数:uri = vstfs:///Build/Build/34064 用户代理:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36 唯一标识:00000000-0000-0000-0000-000000000000
Team Foundation 服务主机请求监视器检测到 以下条件:日期(UTC):30/01/2014 11:10:01 p.m.机器: CODEBASE 应用领域:/LM/W3SVC/1/ROOT/tfs-1-130355232548668648 程序集:Microsoft.TeamFoundation.Framework.Server,版本=12.0.0.0, 文化=中立,PublicKeyToken=b03f5f7f11d50a3a; v4.0.30319 服务 主机:0dc282b5-59a8-4941-b541-a4f7d314cd0f 进程详情:进程 名称:w3wp 进程 ID:70320 线程 ID:14540
详细信息:对服务主机 XXXX 的请求已在执行 37 秒,超过 30 的警告阈值。 请求详细信息:请求上下文详细信息 网址:/tfs/XXXX/Build/v4.0/BuildService.asmx 方法:停止构建 参数:uris[0] = vstfs:///Build/Build/34051 uris = Count = 1 用户代理:Team Foundation(devenv.exe,12.0.21005.1,Premium,SKU:16) 唯一 ID:4d2d3213-fd41-4c4d-8ab0-b87619c96a42
Team Foundation 服务主机请求监视器检测到 以下条件:日期(UTC):2014 年 1 月 31 日凌晨 3:14:17 机器: CODEBASE 应用领域:/LM/W3SVC/1/ROOT/tfs-1-130355232548668648 程序集:Microsoft.TeamFoundation.Framework.Server,版本=12.0.0.0, 文化=中立,PublicKeyToken=b03f5f7f11d50a3a; v4.0.30319 服务 主机:进程详细信息:进程名称:w3wp 进程 ID:70320
线程 ID:14540详细消息:没有对服务主机 XXXX 的活动请求 超过 30 的警告阈值。
一个快速的谷歌建议增加 tfs 注册表中的超时 (http://xavierdilipkumar.com/post/2013/07/04/TFS-event-7005-and-7006-warning.aspx) 我已经尝试过了,它似乎没有改变任何东西。
【问题讨论】:
-
重新阅读这些警告后,似乎它们与我停止从 Web 前端构建有关,不一定与问题直接相关。
-
有点相关,但试一试:geekswithblogs.net/kjones/Default.aspx
-
原来我们的解决方法是向主机文件添加一个条目,将 SharePoint URL 指向 127.0.0.1(环回地址)。我们已经为我们启动的其他三个 SharePoint Web 应用程序配置了这个。我们忽略了对最近才投入生产的新 Web 应用程序执行此操作。
-
@Isaiah4110 不,我很确定这完全不相关。
-
我知道它们完全不相关,但我所说的是修复的性质。无论如何,在您添加第二个应用程序层之前,构建控制器在哪里运行?运行构建控制器的用户是否发生了变化?它是在构建控制器移动到 2 应用层后开始发生的吗