我利用最近的周末把我们的系统从Team Foundation Server (TFS) 2008升级到TFS(Team Foundation Server) 2010。升级过程进行的很顺利,所以,如果你正在计划升级到TFS(Team Foundation Server)2010,我认为我的经验会对你有一些帮助。
我以前的TFS(Team Foundation Server)系统运行在32位的Windows Server 2008上,数据库是64位的SQL Server 2005,运行在一个独立的服务器上,SharePoint运行在第三个服务器上。安装的第一步是升级SQL Server。TFS(Team Foundation Server)2010要求使用SQL Server 2008 或 2008 R2,而TFS(Team Foundation Server)2008只需要SQL Server 2005就可以了。TFS(Team Foundation Server)2005是唯一一个一直要求使用SQL Server 2005的应用程序,所以我期盼这次升级,这样的话,我们可以升级我们的SQL Server。(我并不会深入讨论SQL Server的升级过程,但是在你升级SQL Server以前,请不要忘记把所有东西都做一下备份。)怀着朝圣的心情,我升级到了SQL Server 2008 R2;除了SQL Server Reporting Services完全中断以外(这是意料之中的事情),我的升级进行的很顺利。
SQL Server升级以后,我开始升级TFS(Team Foundation Server),在这个过程中,我学到了重要的一课。虽然TFS(Team Foundation Server)2010的安装程序可以指向你现有的TFS(Team Foundation Server)数据,但是这并不是真正的升级,这只是一个迁移。你必须从你的机器上完全卸载TFS(Team Foundation Server)2008才可以;上一个版本的TFS(Team Foundation Server)的配置将会被保留,而你的数据库会被迁移,同时,数据库模型会被升级到TFS(Team Foundation Server) 2010要求的数据库模型。如果我提前知道这一点,我会构建一个全新的Windows服务器,和32位的Windows 2008比较起来,我更希望它运行在64位的Windows 2008 R2上。
在卸载TFS(Team Foundation Server)2008以后,我运行了TFS(Team Foundation Server)2010的安装程序。它比TFS(Team Foundation Server)2008的安装程序的用户体验要好得多(我第一次安装TFS(Team Foundation Server)2008,花费了一个星期)。我很高兴地告诉大家,安装TFS(Team Foundation Server)2010只需要通过向导点几下鼠标而已。
接下来,我不得不在SharePoint服务器和SQL Server Reporting Services服务器上做一些和TFS有关的配置工作。SQL Server Reporting Services那边的事情花费了一些时间来纠正,但是SharePoint方面进行的很顺利。凭心而论,在SQL Server Reporting Services方面,这次升级让我们的CRM服务器的报告功能中断了,当然,我知道这个问题和TFS(Team Foundation Server)没有关系。
升级马上就完成了,我试用了一下,没有发现任何问题。我们的一些客户端需要从Visual Studio中移除上一个版本的TFS(Team Foundation Server)服务器,然后重新添加新版本的TFS(Team Foundation Server)服务器,以保证服务器和客户端之间可以正确地连接。我的客户端使用TFS Team Web Access,因为Web access现在被直接集成到了TFS(Team Foundation Server)中,所以,我需要一个新的URL。
最后的一些想法
总的来说,这次升级过程很愉快。虽然升级比全新安装更危险,但是它比TFS(Team Foundation Server) 2008的全新安装过程的用户体验要好得多。其他的IT专业人员说,必须要改变MSBuild才可以,但是因为我们没有把MSBuild和TFS(Team Foundation Server)集成在一起,所以我们没有遇到这个问题。我们的自定义Work Item模板工作的不错,这真的令我兴奋不已。因为我在它们身上做了大量的工作。
如果下一次我要升级到TFS(Team Foundation Server) 2010(包括TFS(Team Foundation Server)2008的全新安装),我会做两件事情:
一是让TFS的SQL Server作为一个单独的实例来运行,这样的话,在升级的时候,它可以不影响其他的应用程序。二是为TFS(Team Foundation Server) 2010构建一个全新的Windows服务器。我希望不必为了重用机器而重新配置客户端,但是,在大多数情况下,我不得不做这个工作。
我做的最睿智的一件事情是:在两年以前,当我第一次安装它的时候,把到安装到了虚拟的服务器上。相对于执行完整的还原。恢复到一个VM快照可以让我更有信心地做某些事情,然后看看它们是否可以工作。当我试图修复SSRS(Start-Stop-Restart System)的问题的时候,这一点显得尤其重要,在这种情况下,我发现我自己可以多次恢复到那个快照。
如果你正在使用TFS(Team Foundation Server) 2008,只要你已经为可能会遇到的SQL Server Reporting Services的问题做好了准备,那么,你可以满怀信心地升级到TFS(Team Foundation Server) 2010。