一键升级

    升级期间,脚本将暂停节点与WeBASE所有服务,替换WeBASE安装包(不会更新节点)、替换配置文件、更新数据库的数据表(并备份原数据)

    • 确保common.properties中配置的数据库配置正确;若已经通过该配置成功完成了一键部署,即不用修改
    • 需要确保WeBASE一键部署的文件目录未重命名(如webase-front)
    • 需要连接外网下载WeBASE新版本的升级脚本与安装包
    • 若升级脚本报错中断后,备份的各子服务文件存放在以旧版本号命名的目录,如./v1.4.3目录中
    • 暂未支持WeBASE可视化部署的自动升级,未支持跨版本升级

    检测依赖

    • 当前只支持升级相邻的版本,可以参考查看版本信息
    1. ## 指定-o旧版本,-n新版本后,即可运行
    2. # bash webase-upgrade.sh -o {old_webase_version} -n {new_webase-version}
    3. $ bash webase-upgrade.sh -o v1.4.3 -n v1.5.0
    4. ## 下面简单阐述升级脚本的操作内容
    5. ################################################
    6. # 解压新的zip包到webase-front.zip => webase-front-v1.5.0
    7. # 停止原有的,python3 deploy.py stopAll
    8. # webase-web 直接复制全部
    9. # 复制已有front的conf/*.yml, *.key, *.crt, *.so,覆盖新front的文件
    10. # 复制已有sign的conf/*.yml
    11. # 复制已有node-mgr已有的conf的*.yml,conf/log目录
    12. ## 备份node-manager db
    13. # 备份node-mgr数据库到webase-node-mgr/script/backup_node_mgr_{old_version}.sql
    14. # 从common.properties中获取两个数据库密码
    15. # 到node-mgr中检测script/upgrade目录,有匹配v143开头的,v150的结尾的,有则执行 mysql -e "source $sql_file"
    16. # 更新数据表 执行webase-node-mgr-{new_version}/script/upgrade/v{old_version}_v{new_version}.sql
    17. # 到sign...同上(当前版本无需升级数据库)
    18. ## 将旧版本的webase-XXX备份到当前目录的{old_version}目录,新版本的webase-XXX-{new_version}重命名为webase-XXX
    19. # mv操作,备份已有的,如 webase-web => ./v1.4.3/webase-web 以及 webase-web-v1.5.0 => webase-web
    20. # 启动新的,执行python3 deploy.py startAll
    21. ################################################

    若升级失败,,只需要将当前目录升级中的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升级

    1. 备份已有文件或数据,下载新的安装包(可参考)
    2. 采用新的安装包,并将旧版本yml已有配置添加到新版本yml中;可通过diff aFile bFile命令对比新旧yml的差异
    3. bash stop.sh && bash start.sh重启
    1. 备份已有文件或数据,下载新的安装包(可参考安装包下载
    2. 使用新的安装包,并将旧版本yml已有配置添加到新版本yml中;可通过diff aFile bFile命令对比新旧yml的差异
    3. 查看中对应版本是否需要修改数据表,若不需要升级则跳过 3.1 若需要升级数据表,首先使用mysqldump命令备份数据库 3.2 按照升级文档指引,操作数据表
    4. bash stop.sh && bash start.sh重启

    WeBASE-Web升级

    1. 备份已有文件或数据,下载新的安装包(可参考)
    2. 采用新的安装包,替换旧的webase-web目录,无需重启nginx
    1. 备份已有文件或数据,下载新的安装包(可参考安装包下载
    2. 使用新的安装包,并将旧版本yml已有配置添加到新版本yml中;可通过diff aFile bFile命令对比新旧yml的差异
    3. 查看中对应版本是否需要修改数据表,若不需要升级则跳过 3.1 若需要升级数据表,首先使用mysqldump命令备份数据库 3.2 按照升级文档指引,操作数据表
    4. 重启

    节点升级

    FISCO-BCOS节点的升级的详情需要参考文档

    • 兼容升级 :直接替换 旧版本 的节点二进制文件为 新版本 的节点二进制文件,并重启。此方法无法启用节点新特性