跨网络环境的TFS升级迁移
前端时间公司机房环境调整,需要更新TFS系统的IP,刚好老的TFS系统访问比较慢,所以决定将TFS系统迁移到新的服务器上。
TFS系统宿主环境从windows2012 R2+Hyper迁移到CentOS7.0 + KVM(推荐)
这次迁移主要的任务如下:
- 将TFS2015 升级到 TFS2018 update2
- 将TFS2015中的项目迁移到TFS2018中
- 将AD账号迁移到新服务器环境中
建议用AD域账号管理TFS系统。
一、迁移AD域控
1、新建一台虚拟机T1作为新的AD域控服务器,并将该机器加入到旧域环境
中。(T1配置两个网卡,一个可以访问旧域控服务器,一个是新规划的IP)
2、将T1升级为域控
3、将新环境的TFS服务器加入到域环境中(DNS指向新域控T1)
4、登录T1服务器查看域账号信息是否通同步到T1服务器上。
注意:域中所有服务器的名称是唯一的不能重复
参考:《Server 2012 R2新建活动目录和DC》和《Server2012R2实现活动目录双域控制器互为冗余》
二、新环境中安装TFS2018 update2
用域账号登录服务器上装先安装数据库,再安装TFS2018 update2即可。
需要注意以下几点:
1、TFS配置搜索时报以下错误:
a、“elasticsearch-services-x64已存在”
b、Search\IndexStore文件夹不为空
处理方法:
a、在命令行终端(CMD)执行删除服务命令 sc delete elasticsearch-services-x64【去控制面板-服务中查看ES的服务名称】
b、删除Search\IndexStore文件夹
2、TFS2018不再需要安装SharePoint系统了
三、迁移TFS项目
1、提交所有项目代码
2、关闭项目集
3、备份项目集(务必用TFS控制台工具备份,数据库直接备份不行)
4、脱离项目集
5、在数据库上还原数据库备份
6、在TFS2018上附加项目集
参考:《Team Foundation Server重装系统后,迁移原来的TFS数据库到信息系统》
四、将域控服务器T1设置为主域控服务器
1、通过浏览器访问新TFS系统
2、验证老TFS系统中的域账号是否能正常登陆并验证项目访问权限
3、以上都正常、就将T1设置为主域控服务器。参考《Server 2012 R2 部署域控、额外域控及FSMO角色转移和夺取》
4、关闭旧AD服务器
5、再重复1、2步骤验证TFS系统是否访问正常
至此TFS就迁移成功了。下面是客户端更新新的TFS系统访问地址。
五、客户端更新(VS、GIT)
- VS更新TFS服务器地址方法,参考《Tfs服务器迁移(更改IP)后客户端(vs2013)配置方法》
- GIT更新TFS服务器地址方法如下:
1、 在进入本地项目文件目录
2、 设置查看隐藏文件
3、 找到.git文件夹中的config文件
4、 用记事本打开config文件,修改远程git库地址为新TFS系统地址,保存即可。