TFS 2018 发布流程 - 神秘服务器在 "Deploy TestAgent" 构建步骤重启

TFS 2018 Release Process - Mysterious Server Restart On "Deploy TestAgent" Build Step

我对最新版本的本地 TFS(2018 版本 16.122.27102.1)有一个有趣的问题。我有一个发布过程,其中包括 "Deploy TestAgent on localhost" 的一个步骤。看起来像这样:

通常工作得很好,当我使用 TFS 2012 时工作得很好,但最近我们升级到 2018,现在当这个过程 运行s 在某个构建代理(仅限 Agent-19)上时,偶尔我会得到一个奇怪的失败:

Operating system is shutting down for computer 'XXX_TESTING'

The agent: Agent-19 lost communication with the server. Verify the machine is running and has a healthy network connection. For more information, see: https://go.microsoft.com/fwlink/?linkid=846610

奇怪,重启似乎是从与 TFS 构建代理使用的相同服务帐户生成的:

那里没有太多信息,TFS 构建工作日志也没有太多信息:

[2018-03-01 00:46:35Z INFO ProcessInvoker] Starting process:

[2018-03-01 00:46:35Z INFO ProcessInvoker] File name: 'C:\TFS Agent\externals\vstshost\LegacyVSTSPowerShellHost.exe'

[2018-03-01 00:46:35Z INFO ProcessInvoker] Arguments: ''

[2018-03-01 00:46:35Z INFO ProcessInvoker] Working directory: 'C:\TFS Agent_work_tasks\DeployVisualStudioTestAgent_52a38a6a-1517-41d7-96cc-73ee0c60d2b6.0.42'

[2018-03-01 00:46:35Z INFO ProcessInvoker] Require exit code zero: 'False'

[2018-03-01 00:46:35Z INFO ProcessInvoker] Encoding web name: ; code page: ''

[2018-03-01 00:46:35Z INFO ProcessInvoker] Force kill process on cancellation: 'False'

[2018-03-01 00:46:35Z INFO ProcessInvoker] Process started with process id 14620, waiting for process exit.

[2018-03-01 00:46:35Z INFO JobServerQueue] Try to upload 1 log files or attachments, success rate: 1/1.

[2018-03-01 00:48:11Z INFO Worker] Cancellation/Shutdown message received.

[2018-03-01 00:48:11Z INFO HostContext] Agent will be shutdown for OperatingSystemShutdown

[2018-03-01 00:48:11Z INFO StepsRunner] Cancel current running step.

所以,系统关闭,代理停止,测试没有 运行,但是为什么,不知道...所以我重新映像 整个服务器 使用我的另一个构建服务器的副本,重新安装构建代理,但问题仍然存在,它只发生在那个构建服务器上,只发生在那个步骤上,而且只发生 "sometimes"(我还没有确定一种模式,但通常在 6:30PM CST 的夜间 运行。

我该如何诊断?有什么地方可以告诉我 "why" 系统重启了吗? This 并没有真正给我很多信息...我四处搜索,没有看到其他人有这种性质的问题。

首先,Deploy test Agent 步骤已被弃用,它已被新的代理基础结构和 VS Test 2.0 运行ners 取代。参见:

安装测试代理步骤是为了将测试代理安装到不同的 server/VM,而不是在代理上。

build/release 代理将处于活动状态以监视测试代理恢复生命以进行 运行 测试。可以在此处找到代理可能触发重启的原因:

测试代理计算机的重新启动是设计使然,只有当您想要 运行 测试的用户没有活动会话时才会发生。检查以下案例:

https://github.com/Microsoft/vsts-tasks/issues/3788