SVN迁移
原服务器:WinServer 2008R2
SVN Server:3.6.1
新服务器:WinServer 2016
SVN Server:3.9.1
操作:
- 在新服务器上安装SVN Server,并配置存储库路径;
- 将原服务器SVN Server存储库下的所有文件同步到新服务器的存储库下;
- 同步方式自选(因为文件比较碎,手动拷贝麻烦,这里选用FileGee做文件同步);
因为SVN Server的版本差异不大,文件结构一致,所以可以直接将原Repositories下的所有内容拷贝到新的Repositories下。
这些文件当中不仅包含了SVN Server存储的文件数据,还包含用户账户的所有信息(账号、密码、分组)。 - 域名解析
之后将新的SVN服务器映射到原SVN Server使用的外网端口(IP可以改变),并将原SVN Server使用的域名解析到该外网IP。
这样对于原SVN用户来说,不需要做任何更改就可以继续使用原来已经获取的文件。
相比于SVN迁移的简单粗暴,TFS的迁移就要复杂一些。不过好在这里只是做的单机迁移。
两种方案:
一、同版本迁移;
二、重新部署升级版后,再迁移代码和相关账户;
TFS同版本迁移
- 同版本的范围包含:服务器版本、数据库版本、TFS版本要求一致;
- 依次安装配置服务器、数据库、TFS;
- 将原服务器TFS服务停止,保证数据不再变更;
- 对TFS产生的数据库进行分离;
- 将数据文件(.mdf与.ldf)拷贝到新TFS环境,进行附加;
- TFS配置完成后,在应用层-团队项目集合中附加集合,列出并选择新附加的数据库进行集合附加;
- 根据需求决定是否要将TFS服务器映射到外网;
- Windows Server账户我没有找到好的导出导入方法,如有好的方法还请赐教(多谢)。
TFS重新部署升级版迁移
这是本次记录的主要内容,即TFS2018的安装及配套配置。
版本信息;
服务器:Windows Server 2016 Datacenter;
数据库:SQL Server 2017(详细信息如下);
Microsoft SQL Server Management Studio 14.0.17285.0
Microsoft Analysis Services 客户端工具 14.0.1016.283
Microsoft 数据访问组件 (MDAC) 10.0.14393.0
Microsoft MSXML 3.0 6.0
Microsoft Internet Explorer 9.11.14393.0
Microsoft .NET Framework 4.0.30319.42000
操作系统 6.3.14393
TFS:Team Foundation Server 2018 (16.131.28002.2);
报表服务器:Microsoft SQL Server Reporting Services 14.0.6827.4788(产品/文件版本);
数据库安装配置;
数据库安装前要先做一些准备工作(WinServer 2016的操作界面跟Win10很像,我喜欢):
先创建几个用户备用,名称自己知道是做什么用的就行,不必同下方一样;
TFS管理员账户:tfsadmin;
执行账户:tfsexec;
文件共享账户:filesharer;
报表查阅:ReportReader;
将tfsadmin账户添加到Administrators、Remote Desktop Groups、Performance Log Users(可根据自己的情况调整);
- 服务器重命名;
名称简短明了一些,后面配置,甚至登录时都会用到,这里就叫tfs2018,重启服务器; 安装SQL Server;
最好使用新的管理员账户tfsadmin远程登录服务器,安装配置过程方便一点;
安装的详细步骤这里不赘述,多数地方都是默认就好:
- 安装服务的选项:
至少包含:数据库引擎服务、全文和语义提取搜索、Analysis Services、客户端工具连接;
可选服务:客户端工具向后兼容性、SQL 客户端连接SDK(根据自身情况调整选项内容); - 实例根目录及共享功能目录路径的选择:
不建议放到系统盘,除非你的系统盘容量足够充足,且读写性能比其他盘高一个档次。
如果安装时选择了系统盘,后期想把数据迁移到其他盘,
需要先将要迁移的数据库执行分离任务,然后将数据文件拷贝到其他盘,然后再对数据库进行附加。 - 服务器身份认证选择“SQL Server 和 Windows 身份验证模式”,并添加 tfsadmin(即当前用户)为SQL Server管理员;
如果前面没有添加 Windows 用户,可以用 sa 连接到数据库,
在安全性-登录名下添加用户 tfsadmin,并将其服务器角色设置为sysadmin; - 在登录名下添加报表数据库账户:reportdba;
- SQL Server Analysis Service配置时选择
多维和数据挖掘
(这一点很重要!!,否则报表服务配置会有问题)。
安装并配置报表服务器;
安装过程没有什么特别要说的;
配置很多选项可以使用默认选项,这里详细列一下;
- 服务账户:默认即可,也可自行创建 Windows 用户,并配置为报表服务器服务账户;
- Web服务URL:默认即可,如果需要配置外网访问,可在第一次配置完成后,再回来点击高级按钮进行域名或外网ip添加(也可绑定证书),如下图:
- 数据库:创建新的ReportServer即可,凭据可使用创建好的reportdba;
- Web门户URL:URL的配置与Web服务URL的配置同理;
- 电子邮件设置:根据自身情况进行配置;
- 执行账户:默认即可,也可使用创建好的tfsexec;
- 加密密钥:备份一下就可以了;
- 订阅设置:默认即可,也可使用创建好的filesharer;
- 其余选项默认即可;
配置完成后,就可以去配置TFS了(可以在配置的过程中,安装下一个程序,提高效率);
安装配置TFS;
安装过程不做赘述,多数为默认,安装地址根据自身情况选择;
初次配置会有配置向导,根据配置向导进行逐项配置:
多数采用默认设置就好,配置完,后面是可以修改的,无需新建集合,验证时会报JARA的错误,选择其提供的下载安装选项即可。
配置完成后,可以根据自己的情况进行配置调整:
其中绑定的端口是要在IIS的TFS站点上修改绑定的;
这里主要说一下其中的几个坑:
- 映射外网端口:内外网端口要一致,否则跳转的时候可能会出现意想不到的问题;
- TFS站点并不是所有的端口都能用,哪怕这个端口在服务器端并没有被占用,如6666端口,谷歌浏览器就无法访问你的TFS,其他浏览器有的可以;
- 公共URL与TFS站点地址不要冲突;
- 防火墙的入站规则配置,要配置要用的端口,部分云服务器,如阿里云,还要配置安全组的端口(Web防火墙);
- 管理控制台用户要把需要使用TFS控制台的用户添加进去,同时也要把该用户添加到远程用户组,及数据库登录名,否则操作过程中会很难受;
- 关掉VPN,哪怕不是全局代理,因为会引起TFS访问登录异常,现象就是初次登录没问题,之后就间歇性抽风,不断跳出登录弹窗,这时你可以关掉代理后尝试登录;
- 简单讲就是先把安装配置搞定,然后内网访问登录TFS,确定没问题,然后映射并测试外网端口是否畅通(telnet ip/domain:port 需要在启动或关闭Windows功能中安装Telnet客户端),之后再测试外网访问登录是否正常。
代码迁移;
先根据原有目录依次创建集合(TFS控制台)、创建项目(TFS Web)、创建存储库(针对Git管理的项目);
TFS管理的项目,先把原来的项目拉下来,然后复制上传到新的TFS上(因为数据库结构不同,我也没好的办法);
Git管理的项目,把原来的项目克隆下来,然后镜像推送;用到的命令:
git clone OldTfsCodeUrl
git push --mirror NewTfsCodeUrl
这样可以把原来的修改记录保留下来;
注意:原来的代码中可能引用了某些旧的服务器地址,也需要手动修改;
- 用户迁移;
我是手动创建的(期待您有好的建议);
至此我的SVN和TFS服务器迁移经历就叙述完了,记录一下两天三夜的忙碌。希望对你有所帮助。
有问题可以留言,不一定能回复,用到的资源可以联系我邮箱 [email protected]。