有没有人有将Teamcity服务器从版本4升级到版本6而不丢失所有构建历史的经验?
由于我无法在现有的Teamcity服务器(4.5.4版)上直接升级,我的计划是将最新的Teamcities服务器安装到另一台主机上,并尝试导入以某种方式从旧Teamcity server导出的数据。
在阅读了版本4和版本6的文档后,我不确定如何继续。有人对此有什么建议吗?谢谢
这个问题解决后,我忘了绕回来。最近,我再次将Teamcity安装从6.5版迁移并更新到7.1.4版,没有丢失任何历史记录或数据,所以我想我最好分享我所做的。
基本上我做的是:
- 关闭旧版本4 Teamcity安装
- 将teamcity使用的数据库转储到
.sql
文件中。在我的例子中,我们使用MySQL,所以我使用了类似的东西:mysqldump -u User -pPassword teamcity_db_name > teamcity.sql
- 在新服务器上,使用
rsync
从旧版本4 Teamcity服务器复制.BuildServer
文件夹 - 在新服务器上,使用与旧服务器中相同的名称在MySQL中创建数据库用户和数据库
- 导入
.sql
转储:mysql -u User -pPassword teamcity_db_name < teamcity.sql
- 将新的Teamcity
.tar.gz
分发文件解压缩到一个位置,例如/home/teamcity/Teamcity
- 运行
/home/teamcity/Teamcity/bin/teamcity-server.sh start
- 打开
http://<your new teamcity server>:8111/
,它会通过在/home/teamcity/Teamcity/logs/
文件夹的teamcity-server.log
中找到秘密令牌来请求进入维护模式 - 输入令牌后,它会要求确认升级。这一步主要是升级
.BuildServer
文件夹的格式 - 等一下,对我来说,升级花了大约30分钟
- 差不多完成了,但别忘了更新构建代理,让他们知道新的teamcity服务器在哪里
无论是版本4->6升级还是版本6->7升级,对我来说都非常顺利。