版本升级
当前 v22.10 仅支持从 v22.07 升级,如需要从其他版本升级,请先升级到 v22.07 再升级到 v22.10
确认服务器满足升级要求
请浏览 部署前置准备
关闭原服务
在执行升级前,请先关闭原服务,避免造成数据备份时导致数据不一致
在所有节点中执行以下命令
cd /data/sdk/custom/
# 关闭应用服务
docker-compose -f docker-compose.yaml down
# 关闭存储服务(如有)
docker-compose -f docker-compose-paas.yaml down
备份
在执行升级前,请对数据库、附件与日志等文件进行备份
备份数据库
mysqldump -h数据库地址 -u用户名 -p -all-databases > tencentsurvey-mysql-backup.sql
备份文件
在所有节点上执行以下命令
cp -r /data/sdk/custom/var /data/tencentsurvey-var-backup
验证备份文件
在正式执行升级前,请验证备份文件是否完整,是否可用于恢复
执行升级
分发安装包
确保所有节点安装目录均有 /data/tencent-survey-v22.10.1-amd64
以下所有操作,如无说明,操作目录均为以上指定的安装目录
编辑系统配置
修改根目录的 .env 文件,以下内容需要从原 etc/backend/env 文件中复制
MYSQL_SERVER
MYSQL_PORT
MYSQL_USERNAME
MYSQL_ROOT_PASSWORD
REDIS_SERVER
REDIS_PORT
REDIS_PASSWORD
ES_SERVER
ES_PASSWORD
APP_KEY
SECRET_TOKEN_BASE
LICENSE
LICENSE_KEY
BASE_URL
BASE_CDN_URL
HOSTS
SESSION_TTL
COOKIE_AS_SESSION
MAIN_HOST
MAIN_DATABASE
MAIN_USERNAME
MAIN_PASSWORD
DB2_HOST
DB2_DATABASE
DB2_USERNAME
DB2_PASSWORD
DB3_HOST
DB3_DATABASE
DB3_USERNAME
DB3_PASSWORD
DB6_HOST
DB6_DATABASE
DB6_USERNAME
DB6_PASSWORD
DB7_HOST
DB7_DATABASE
DB7_USERNAME
DB7_PASSWORD
DB8_HOST
DB8_DATABASE
DB8_USERNAME
DB8_PASSWORD
ES68_HOST=
ES68_USERNAME=
ES68_PASSWORD=
LOG_ES_HOST=
NGINX_ES_HOST=
REDIS_HOST
REDIS_PORT
REDIS_PASSWORD
REDIS_DB_INDEX
编辑 Nginx 配置
修改根目录的 etc/nginx/gateway/tenant-server.conf 文件,以下内容从原配置中拷贝
listen
server_name
access_log
error_log
ssl_dhparam
ssl_certificate
ssl_certificate_key
ssl_protocols
ssl_ciphers
ssl_prefer_server_ciphers
如果指定了 SSL 证书,需要将证书拷贝到 etc/nginx/gateway 目录下
如果原服务中使用了自定义的 Nginx 配置,需要将自定义部分拷贝到新配置中
编辑 etc/shortlink/shortlink.yaml
修改 redis.addr 与 redis.password 为实际的 redis 连接信息
拷贝附件与日志文件到新版本安装目录
假设 /data/sdk/custom 为原安装目录,/data/tencent-survey-v22.10.1-amd64 为新安装目录
cp -r /data/sdk/custom/var /data/tencent-survey-v22.10.1-amd64/
启动服务
在所有节点安装目录中执行以下命令
导入 Docker 镜像
docker load < docker-images.tar
启动服务
docker compose -f docker-compose-paas.yaml up
其他
重命名旧的版本
docker rename tgw tgw-v2207
docker rename frontend frontend-v2207
docker rename crontab-7 crontab-7-v2207
docker rename backend-php-7 backend-php-7-v2207
docker rename backend-go-web backend-go-web-v2207
docker rename backend-go-work backend-go-work-v2207
docker rename backend-go-crontab backend-go-crontab-v2207
docker rename shortlink shortlink-v2207
docker rename migration migration-v2207
docker rename redis-server redis-server-v2207
docker rename elasticsearch-server elasticsearch-server-v2207
docker rename mysql-server mysql-server-v2207
补回 schema_history
链接数据库,执行以下语句
INSERT INTO `schema_history` (`version`, `description`, `took`, `created_at`, `updated_at`)
VALUES (20150101000000, '', 2, '2023-06-25 16:11:47', '2023-06-25 16:11:47');