Skip to main content
Version: v22.10

版本升级

当前 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.addrredis.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');