在预生产环境中执行升级的模拟运行

Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018-TFS 2015

备注

Azure DevOps Server 以前名为 Visual Studio Team Foundation Server。

我是否需要干扰?

强烈建议在预生产环境中执行升级的干燥运行,但并不总是有意义。 如果你讨论是否要进行预生产升级,请权衡此操作的成本,以避免这种情况。 特别是,如果您的生产升级出现问题,则在回滚到旧版本的 TFS 时,主要成本将是所涉及的停机时间。 根据您的升级的具体情况,这可能是一种快速且简单的过程,也可能需要很长时间,并且可能需要很长时间,并且需要大量的移动部件。 就像升级一样,回滚的复杂性将取决于数据库大小、所涉及的计算机数等。

基础知识

如果决定继续进行预生产升级,一般的过程包括:

  1. 建立类似于生产环境的预生产环境。
  2. 保护您的生产环境。
  3. 从备份还原数据库。
  4. 执行升级。

建立环境

在理想情况下,您的预生产环境看起来与您的生产环境完全相同–这样您就能尽可能准确地了解您的升级需要多长时间,无论您是否会遇到任何问题,等等。但在现实世界中,这并不总是可能的或理想的做法。 例如,该产品不支持克隆 SharePoint 集成功能。 同时,为预生产测试预配第二组相同计算机的成本可能很高。 不要让这些差异 dissuade,不过,几乎任何预生产环境都要比任何东西都好。

保护生产

TFS 数据库包含一些设置,这些设置指向其部署环境中的各种资源。 例如,集合数据库连接字符串存储在配置数据库中,就像计划的备份功能使用的网络共享。 因此,预生产环境可能会导致生产环境中出现问题,因此,在建立预生产环境时,最好采取措施来避免此问题。

最重要的步骤是在预生产环境中使用不具有生产环境权限的服务帐户。 理想情况下,它不应具有 TFS 中的任何权限,如 SQL、网络共享等。此处的选项包括网络服务 (假设预生产计算机帐户不需要生产) 或专用预生产域帐户中的权限,如以下示例中所示。

示例预生产服务帐户

另一个可选步骤是将条目添加到预生产计算机 () 的主机文件,将生产计算机名称映射到无效的 IP 地址。 如果不确定主机文件是什么,请参阅 此处 的维基百科条目。 这可以防止从预生产计算机到生产计算机的出站通信。

示例在和 DT 上托管文件重定向

还原数据库

如果使用 计划备份向导 从生产部署生成数据库备份,则还可以使用它来还原预生产部署上的备份。 当然,您也可以遵循标准 SQL 过程来还原备份。 要备份和还原的数据库列表应始终包含配置数据库和所有集合数据库。 如果预生产环境包含报告功能,则还应包括仓库和 Report Server 数据库。

执行升级

在应用程序层计算机上安装 TFS 的新版本。 在运行升级向导之前,请运行 ChangeServerId 命令。 这将确保在从同一客户端同时访问生产环境和预生产环境时不会遇到问题,应在每次克隆集合或完整部署时执行。

准备就绪后,请使用用于升级生产的相同步骤升级预生产环境。 请确保你记得使用在生产环境中没有权限的服务帐户。

配置新功能

某些升级引入了一些新功能,这些新功能将执行额外的配置步骤,因为它们涉及对现有项目的处理更改。 根据你的项目的具体情况和从中升级的 TFS 版本,这可能会比较复杂。 请参阅此处了解详细信息。

试用

让预生产服务器退出旋转! 四处浏览一点,尝试一下一些新功能 .。。请注意,某些功能(如运行生成)将需要一些其他配置。

如果发现任何问题,请尝试在此处进行操作,以避免在生产环境中再次使用它们。 如果感到满意,请在一天中对其进行调用,然后继续进行生产升级。