TeamCity还原备份数据及升级文档

TeamCity还原备份数据及升级文档

六月 14, 2019

没有用过TC因为工作需求现读官方文档做备份还原等操作,以下是我读参考文档的顺序(建议新手读文档一步一步了解):

查看版本信息
https://confluence.jetbrains.com/display/TW/Previous+Releases+Downloads
安装与启动
https://confluence.jetbrains.com/display/TCD18/Installation+Quick+Start#InstallationQuickStart-onLinuxandOSX
主目录介绍
https://confluence.jetbrains.com/display/TCD10/TeamCity+Data+Directory
数据库
https://confluence.jetbrains.com/display/TCD18/Setting+up+an+External+Database
备份还原
https://confluence.jetbrains.com/display/TCD18/Restoring+TeamCity+Data+from+Backup


操作步骤:

环境说明:在内网开一台测试机,脱离生产环境进行备份还原操作

新建目录下载生产环境中使用的相同version压缩包:

1
2
3
# mkdir /data
# cd /data/
# wget https://download.jetbrains.8686c.com/teamcity/TeamCity-10.0.1.tar.gz

连接服务器获取TC备份数据到测试机:

1
scp -i XXX.pem  TeamCity_Backup_20190612_151253.zip ec2-user@52.82.XX.XX:/tmp

安装MySQL并创建数据库:

1
2
3
4
5
6
# yum install mysql-server mysql
# mysql
mysql> create database teamcity collate utf8_bin;
mysql> create database restoretc collate utf8_bin;
mysql> update mysql.user set password=PASSWORD('password') where User='root’;
mysql> flush privileges;

升级Java版本:

1
2
3
4
5
如果已经有低版本Java需卸载再安装
# yum install java-1.8.0-openjdk-src.x86_64
# java -version
# echo $JAVA_HOME
/usr/lib/jvm/jre

解压并启动TC:

1
2
3
4
# tar zxvf TeamCity-10.0.1.tar.gz
# cd TeamCity
# cd bin/
# sh runAll.sh start

下载连接数据库工具并拷贝到所需目录:

1
2
3
4
# wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-8.0.16.tar.gz
# tar zxvf mysql-connector-java-8.0.16.tar.gz
# cd mysql-connector-java-8.0.16
# cp mysql-connector-java-8.0.16.jar /root/.BuildServer/lib/jdbc/

TC1.png
TC2.png

创建还原备份的新目录并拷贝连接数据库工具到对应目录:

1
2
# mkdir /mnt/restoretc/lib/jdbc -p
# cp -r /root/.BuildServer/lib/jdbc/mysql-connector-java-8.0.16.jar /mnt/restoretc/lib/jdbc/

还原备份命令:

1
2
-A 指定新路径	-F 指定备份数据路径		-T 指定数据库配置
# sh maintainDB.sh restore -A /mnt/restoretc -F /mnt/TeamCity_Backup_20190612_151253.zip -T /mnt/database.properties
1
2
3
4
5
6
7
8
# cat /mnt/BuildServer/config/database.properties
#Thu Jun 13 09:48:47 UTC 2019
connectionProperties.user=root
connectionProperties.password=password
connectionUrl=jdbc\:mysql\:///uu
[root@ip-10-17-0-248 TeamCity]# cat conf/teamcity-startup.properties
^[[A#Thu Jun 13 09:45:23 UTC 2019
teamcity.data.path=/mnt/BuildServer

还原后需修改目录名字为新的路径, 现在备份还原后数据存在,但是登录模块有问题,因为生产环境中登录接入了LDAP

踩过的坑:

  1. 使用2018-02-24版本,不需要手动安装连接数据库的工具,还原时也不需要删除原来的数据库,只要新建新的数据库就行,但是因为生产中使用的TC版本太低,数据还原后会出现版本不支持数据无法显示的问题。
  2. 10.0.1版本还原时必须删除原始数据库并创建新的数据库才能正常导入。

#####TC备份还原后升级2018-02-24版本

  1. 下载新版压缩包 # wget https://download.jetbrains.8686c.com/teamcity/TeamCity-2018.2.4.tar.gz
  2. 解压并替换原目录,拷贝原目录下的配置文件到解压后的新目录 conf/teamcity-startup.properties,然后启动

升级到新版后遇到的问题:
设置JVM内存,解决内存溢出问题 /data/TeamCity/bin/catalina.sh
升级后有一个自动重启的功能,使用原来命令stop不能停止,停掉就会立马重启一个

TC3.png
TC4.png
TC5.png
TC6.png