TFS2010升级至TFS2013完全指南(更换服务器)
一、背景:
公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式、迭代式转向敏捷开发。为了更好的支持产品研发,决定将tfs2010升级至tfs2013,目前已有200多G的数据量,升级时间也不是太长。
二、升级方式:
将tfs2010的sql2008数据库进行备份,tfs2013和sql2012安装在另一台全新的服务器上,将sql2008还原至新服务器上,然后再在新服务器上配置tfs应用层,最后通过tfs命令完成各种更新及配置操作。本指南将分两部分进行说明:1.TFS数据库及应用层的迁移 2.TFS的各项配置及更新。 (升级过程其实很简单,就是整个研究过程比较曲折,为了减少大家的时间,少走弯路,特编制本指南,算是提升大家的工作效率)
三、系统环境:
TFS2010(旧):winserver2008 r2 、sql2008、tfs2010 sp1
TFS2013(新):winserver2008r2、sql2012、tfs2013
四、升级步骤:
1、准备工作
(1)tfs2010中所有人员都不能有挂起操作,要么签入要么撤销,确保升级后的内容一致。
(2)所有工作项能处理的尽量处于关闭状态
(3)在新服务器上完成tfs2013和sql2012的安装(网上很多安装过程的说明,此处不单独说明)
2、备份TFS2010
将TFS2010所有文件备份出来,拷贝到TFS2013服务器上
3、还原TFS2010
在sql2012数据库中,还原备份的tfs2010数据库,在还原过程中请注意目录权限设置,这个问题困难了我一两天。 一定要把tfs2010备份数据库所在目录设置成everyone读写,这样在还原时,sql2012才能读取到tfs2010备份。
4、应用层配置
在TFS2013管理控制台上,点击根节点,在右侧界面点击“删除功能”,即可重新进行配置。在配置时选择“升级”即可。在升级过程中选择tfs2010config数据库即可。
5、账号重建
在完成应用层配置后,我们必须在tfs2013服务器上创建一套与tfs2010服务器上一样的访问账号。创建完后,我们需要使用tfsconfig identities 命令进行账号列表的查看及校验,并加上/change 命令进行账号的转化。
TFSConfig Identities [/change /fromdomain:DomainName1 /todomain:DomainName2 [/account:AccountName] [/toaccount:AccountName]] [/sqlInstance:ServerName /databaseName:DatabaseName] [/account:AccountName] [/usesqlalwayson]
6、配置新功能
tfs2013新增了很多新功能,这些功能都是基于过程模板,如果要在tfs2010老项目上启用新功能,必须对过程模板进行修改定制并调试修改。
主要使用witadmin exportcategories 和importcategories命令,以及修改过程模板中的WorkItem Tracking并且逐个导入需要修改的项目中,另外还要使用过程模板导入命令进行最后的更新:
witadmin importprocessconfig /collection:CollectionURL [/p:ProjectName] /f:FileName [/e:encoding] [/v]
问题1:在导入过程中,如果出现以下错误:
TF30170: Microsoft.ProjectCreationWizard.TestManagement
C:\Windows\Microsoft.NET\Framework\v4.0.30319
则执行命令即可
ngen uninstall Microsoft.TeamFoundation.TestManagement.Client
ngen uninstall Microsoft.TeamFoundation.TestManagement.Common问题2:TF400498: 尚未指定积压工作 (backlog)和 迭代路径
在网站里面启用,就要设置迭代和区域(选中即可)
在管理控制台中,修改各个url的访问地址,改成tfs2013新服务器名即可。最后进行各个功能的测试及检查,根据具体报错进行修改。
参考资料:
https://www.visualstudio.com/zh-cn/docs/setup-admin/tfs/upgrade/upgrade-2013/upgrade-2013-requirements
https://msdn.microsoft.com/zh-cn/zh-us/library/ms252516(v=vs.100).aspx
https://msdn.microsoft.com/zh-cn/library/ms194972(v=vs.120).aspx
https://msdn.microsoft.com/zh-cn/library/jj920163(v=vs.120).aspx
https://www.visualstudio.com/zh-cn/docs/work/customize/add-features-manually#update-processconfig
https://msdn.microsoft.com/zh-tw/library/ms404883(v=vs.120).aspx
TFS2010升级至TFS2013完全指南(更换服务器)的更多相关文章
- TFS2010升级至TFS2013完全指南
一.背景: 公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式.迭代式转向敏捷开发.为了更好的支持产品研发,决定将tfs ...
- WeiXin 验证成为开发者和更换服务器验证代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...
- gitlab 更换服务器后访问 Integrations 出现 500 错误
异常问题解决方案:问题:gitlab 更换服务器后访问 Integrations 出现 500 错误解决方案:从原服务器上将 /etc/gitlab/gitlab-secrets.json 复制过来覆 ...
- 网站更换服务器或IP对排名有影响吗
http://www.wocaoseo.com/thread-287-1-1.html 网站更换服务器或IP对排名有影响吗 复制代码 百度官方观点:原则上是不会的.除非-新换的服务器太糟糕,三天两头访 ...
- zabbix中文配置指南(转)-服务器监控
一.Zabbix简介 1.1 Zabbix简介 Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利.官方网站:htt ...
- Http权威指南(服务器、缓存)
对于web服务器(软件)大家应该不会陌生,常见的web服务器有Apache.IIS.Tomcat.Nginx.Jetty等等. 1.基本功能 几乎所有的web服务器都会执行以下几项同样的任务: 1.建 ...
- vultr 更换服务器
今天打算去p站看看电影 结果发现自己的vps被封了......记录一下换服务器的过程 首先去 https://www.17ce.com/ ping一下,发现只有国外的服务器能ping通 果然是被封了. ...
- vs2017 tfs服务器迁移更换服务器IP地址方法
今天公司服务器换了IP地址,然后发现tfs的服务器删除不了,也添加不了.最后参考了其他vs版本提供的方法,找到了解决的方法. 一共需要修改两个地方: 1.找到项目的sln文件,使用其他文本编辑器打开, ...
- 网站更换服务器出现加载不了js css文件的问题
原因是 里面加找不到.woff类型,后面把上面注释掉就可以了
随机推荐
- 666 专题三 KMP & 扩展KMP & Manacher
KMP: Problem A.Number Sequence d.求子串首次出现在主串中的位置 s. c. #include<iostream> #include<stdio.h&g ...
- API介绍
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码 ...
- 是时候开刷NOI了
整天挨着毛爷爷,压力好大.. 看毛爷爷即将炖完NOI,我的确也该刷了 原则是从头到尾自己想(虽然看了一次题解),可以不A掉. NOI2009 day1: T1 题目略神,我还是不讲了...(就这题我W ...
- python学习笔记2-条件语句
#条件语句 ''' if 判断条件: 执行语句…… else: 执行语句…… ''' flag = False name = 'python' if name == 'python': # 判断变量否 ...
- Android 截屏的各种骚操作
本文公众号「AndroidTraveler」首发. 背景 在实际的应用场景中,Android 手机的截屏其实是很普遍的. 比如说 PPT 演示,比如说技术博客图文并茂讲解. 因此懂得 Android ...
- StructLayoutLayout 属性无法通过GetCustomAttributes 或者 Attributes获得
http://stackoverflow.com/questions/17684664/retrieve-the-structlayout-attribute-of-a-struct 这是一个type ...
- bzoj 3160: 万径人踪灭【FFT+manacher】
考虑正难则反,我们计算所有对称子序列个数,再减去连续的 这里减去连续的很简单,manacher即可 然后考虑总的,注意到关于一个中心对称的两点下标和相同(这样也能包含以空位为对称中心的方案),所以设f ...
- bzoj 4310: 跳蚤【后缀数组+st表+二分+贪心】
先求一下SA 本质不同的子串个数是\( \sum n-sa[i]+1-he[i] \),按字典序二分子串,判断的时候贪心,也就是从后往前扫字符串,如果当前子串串字典序大于二分的mid子串就切一下,然后 ...
- 高级开发不得不懂的Redis Cluster数据分片机制
Redis 集群简介 Redis Cluster 是 Redis 的分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 分布式方面的需求. Redis Cluster 一般由多个节点组 ...
- 两年Java程序员面试经验分享,从简历制作到面试总结!
前言 工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就.因此在面试许多公司,找到了目前最适合自己的公司之后.于是做一个关于面试的总结.希望能够给那些依旧在找工作的同学提供帮助. ...