我们正在运行本地 Tfs2018 (16.122.27102.1) 服务器。该拓扑由 4 个独立的服务器 (Server 2016) 组成:
问题源于这样一个事实:负责 Windows 更新的部门将以无人值守的方式进行此操作。 这不可避免地会导致随机顺序重新启动。
我正在尝试找出正确且谨慎的 TFS 2018 重启顺序是什么样的,以及它是否可以编写脚本。 我在想一些类似的事情:
1 - 停止 Tfs:
2 - 执行维护:
3 - 启动后:(所有服务器均已启动)
是否有一种更简单的方法来实现这一目标? 非常感谢!
我已经以某种身份与 TFS 合作了大约 10 年,我从未听说过有必要这样做。我觉得你想多了。
我已经重新启动运行应用程序和数据层数千次,从未遇到过问题。
我们可能需要在 Windows 更新过程中添加一些步骤。 在某些情况下,我们最终会看到 TFS 服务器显示所有在线构建/部署代理,但构建/部署服务器上的服务未运行。 尝试将它们作为服务启动是行不通的。重新启动构建/部署服务器不会执行任何操作。运行 run.cmd 显示代理尝试连接到服务器但失败,因为它已被同一所有者使用/连接... 到目前为止,我们发现了两个“修复”:
根本原因尚不清楚,可能是必须先停止 TFS 服务器/服务才能避免这种情况。
类似这样的:
此外,如果 TFS 服务器在运行时重新启动,则任何构建或部署都将失败。这对某些人来说可能是个问题。 禁用维护窗口(更新计划)的任何构建/部署以避免这种情况。与复杂的检查和等待所有处理完成相比,它可能更简单(有些可能需要很长时间运行的构建或部署)。 另一种方法是在维护结束后重新启动失败的构建。
我将尝试在此处发布我们添加到流程中的内容。验证解决方案可能需要一些时间(基于 Windows 更新计划以及该问题并非每次都会发生的事实)。
注意:我们在本地使用 TFS 2017,并在多个域中使用 PAT 进行身份验证的部署代理。