一键升级
升级期间,脚本将暂停节点与WeBASE所有服务,替换WeBASE安装包(不会更新节点)、替换配置文件、更新数据库的数据表(并备份原数据)
- 确保
common.properties
中配置的数据库配置正确;若已经通过该配置成功完成了一键部署,即不用修改 - 需要确保WeBASE一键部署的文件目录未重命名(如webase-front)
- 需要连接外网下载WeBASE新版本的升级脚本与安装包
- 若升级脚本报错中断后,备份的各子服务文件存放在以旧版本号命名的目录,如
./v1.4.3
目录中 - 暂未支持WeBASE可视化部署的自动升级,未支持跨版本升级
检测依赖
- 当前只支持升级相邻的版本,可以参考查看版本信息
## 指定-o旧版本,-n新版本后,即可运行
# bash webase-upgrade.sh -o {old_webase_version} -n {new_webase-version}
$ bash webase-upgrade.sh -o v1.4.3 -n v1.5.0
## 下面简单阐述升级脚本的操作内容
################################################
# 解压新的zip包到webase-front.zip => webase-front-v1.5.0
# 停止原有的,python3 deploy.py stopAll
# webase-web 直接复制全部
# 复制已有front的conf/*.yml, *.key, *.crt, *.so,覆盖新front的文件
# 复制已有sign的conf/*.yml
# 复制已有node-mgr已有的conf的*.yml,conf/log目录
## 备份node-manager db
# 备份node-mgr数据库到webase-node-mgr/script/backup_node_mgr_{old_version}.sql
# 从common.properties中获取两个数据库密码
# 到node-mgr中检测script/upgrade目录,有匹配v143开头的,v150的结尾的,有则执行 mysql -e "source $sql_file"
# 更新数据表 执行webase-node-mgr-{new_version}/script/upgrade/v{old_version}_v{new_version}.sql
# 到sign...同上(当前版本无需升级数据库)
## 将旧版本的webase-XXX备份到当前目录的{old_version}目录,新版本的webase-XXX-{new_version}重命名为webase-XXX
# mv操作,备份已有的,如 webase-web => ./v1.4.3/webase-web 以及 webase-web-v1.5.0 => webase-web
# 启动新的,执行python3 deploy.py startAll
################################################
若升级失败,,只需要将当前目录升级中的webase子系统目录移除,并将旧版本目录的文件夹复制到当前目录,如v1.4.3
,并重启WeBASE即可
- 查看当前目录的升级中的webase安装包:
ls .
- 查看已备份的webase安装包:
ls ./v1.4.3
- 首先将当前目录中已存在的
webase-{subsystem}
安装包移除:如移除当前目录的所有webase安装包,rm -rf webase-*
- 复制旧版本目录中的到当前目录:
cp -rf ./v1.4.3/* .
- 重启
python3 deploy.py startAll
子系统升级
WeBASE子系统升级需要参考中WeBASE子系统间的兼容性说明,若只升级某个子系统,则需要查看子系统的Changelog,检查是否与已有的其他子系统兼容
WeBASE-Front升级
- 备份已有文件或数据,下载新的安装包(可参考)
- 采用新的安装包,并将旧版本yml已有配置添加到新版本yml中;可通过
diff aFile bFile
命令对比新旧yml的差异 bash stop.sh && bash start.sh
重启
- 备份已有文件或数据,下载新的安装包(可参考安装包下载)
- 使用新的安装包,并将旧版本yml已有配置添加到新版本yml中;可通过
diff aFile bFile
命令对比新旧yml的差异 - 查看中对应版本是否需要修改数据表,若不需要升级则跳过 3.1 若需要升级数据表,首先使用
mysqldump
命令备份数据库 3.2 按照升级文档指引,操作数据表 bash stop.sh && bash start.sh
重启
WeBASE-Web升级
- 备份已有文件或数据,下载新的安装包(可参考)
- 采用新的安装包,替换旧的
webase-web
目录,无需重启nginx
- 备份已有文件或数据,下载新的安装包(可参考安装包下载)
- 使用新的安装包,并将旧版本yml已有配置添加到新版本yml中;可通过
diff aFile bFile
命令对比新旧yml的差异 - 查看中对应版本是否需要修改数据表,若不需要升级则跳过 3.1 若需要升级数据表,首先使用
mysqldump
命令备份数据库 3.2 按照升级文档指引,操作数据表 - 重启
节点升级
FISCO-BCOS节点的升级的详情需要参考文档
- 兼容升级 :直接替换 旧版本 的节点二进制文件为 新版本 的节点二进制文件,并重启。此方法无法启用节点新特性