migration - TFS 2012 到 TFS 2018 迁移/升级路径

标签 migration upgrade

目前我有很多项目在 TFS 2012 中,并且希望将它们迁移到 TFS 2018,如果可能的话,维护源代码历史以及 WIT 状态。我意识到在 2018 年之前的版本中,表格下的很多内容都发生了变化。我想知道正确的升级路径是什么。各种网站都提到了文章和升级路径,但都没有回答真正的问题。

我是否必须执行 TFS 2012 -> 2013 -> 2015 -> 2018 并在安装时使用升级选项。或者我可以一起跳过任何路径。升级是否还会对数据库进行适当的修改,或者我可以将数据库复制到某处并在 TFS 版本安装时指向它们吗?如果我被迫就地升级,我是否会失去当前的 TFS 功能。这不可能发生。

在这方面的任何规则指导、步骤或过去的经验将不胜感激。

注意:我们对 2012 敏捷流程(任务、用户故事)的标准 WIT 模板进行了一些更改。

最佳答案

抱歉,恐怕您暂时找不到完整的指南。但建议你可以先通过Requirements and compatibility页。这将帮助您了解服务器操作系统,支持每个 TFS 版本的 SQL Server 版本。

There are different considerations depending on your configuration, e.g. do you use SharePoint, Reporting Services etc.

One thing that you need to deal with, is that TFS 2012 and TFS 2018 does not support the same versions of SQL server, so you will need to upgrade SQL during the upgrade or move your collection(s) to a new server with the appropriate version of SQL (see here).



回到你的问题,不确定你是否可以直接从TFS 2012升级到TFS 2018。只要找到显示的相关图表即可。推荐的升级路径 来自各种 TFS 版本(2017 年)。但是,你绝对不必做TFS 2012 -> 2013 -> 2015 -> 2018。最坏的情况你需要两条路径。

TFS compatibility

我建议使用 SQL Server 2016 sp1 设置新服务器,您可以在其中使用 SQL 备份迁移数据库。然后首先安装 TFS 2017.1,然后是 TFS 2018,最后将 SQL Server 更新到 2017(如果需要)。

强烈建议先进行试用迁移,以验证工作是否正常并在您的生产服务器上尝试之前整理流程。
If I am forced to upgrade in place will I loose current TFS functionality.

其实一些旧功能将不支持 在 TFS2018 中不再使用,例如共享点、XAML 构建(最重要的缺失功能)、旧的工作项表单。更多详情请看 changes to requirements for TFS 2018

对于工作项部分,我们建议您查看 handling a TFS 2018 upgrade from old form to new form以获得进一步指导。

此外,如果您的 TFS2012 安装在不支持的系统上,您可能需要先设置一个新的操作系统。

尽管目前还没有 TFS 2012 到 TFS 2018 升级过程的完整教程。您可以引用这篇旨在扩展升级概述的文章,并逐步介绍 upgrade to TFS 2017 .你只需要注意上面提到的一些注意事项。

升级现有 Team Foundation Server 部署的一般过程是:
  • 准备您的环境。比如升级你的SQL服务器
    (必需),操作系统...
  • 期待最好的,做最坏的准备。您可以在此处采取的最重要的一步是确保您拥有一组完整且一致的数据库备份。
  • 进行升级!
  • 配置新功能。
  • 关于migration - TFS 2012 到 TFS 2018 迁移/升级路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48554200/

    相关文章:

    php - Laravel 迁移,检查 hasColumn 但获取 Column Exists MySQL 错误

    mysql - 无符号浮点到有符号浮点 - Laravel Mysql

    android - 升级生产 Android 应用程序的 SQLite 数据库,这是正确的吗?

    java - Spring Boot从1.5.x升级到2.1.x期间如何解决 "AutoConfigure cycle detected"

    Python 3 没有升级 pip。我是否链接了错误的目录?

    mysql - 导入sql语法、Windows SQL Server和Apache Mysql

    ruby-on-rails - Redmine的插件迁移

    entity-framework - 如何在没有硬编码 nameOrConnectionString 的情况下使用 EF CodeFirst 迁移

    数据库还原时不存在 mysql.proc

    java - 从 Tomcat 8.0.39 升级到 8.0.41 导致 'failed to scan' 错误