版本升级
版本升级我们有 整包升级 与 增量升级 两种模式,根据当前的情况来选择。
整包升级
一般有重大变更时会采用这种方式,与 后端服务部署 的方式基本一致。
操作步骤
1. 创建备份目录
旧版本备份到其他地方,比如 ~/backup/bp_cloud_server
,并创建当前日期时间的目录。
# 进入备份目录
cd ~/backup/bp_cloud_server
# 创建当前日期的目录
mkdir -p "$(date '+%Y%m%d_%H%M')"
2. 停止服务
可以直接使用程序 bin
目录中的 shutdown-all.sh
停止全部服务。
3. 备份服务、依赖、启动脚本
将需要更新的服务、依赖、启动脚本进行备份。以下命令中的 20250807_1059
是第一步中 mkdir "$(date '+%Y%m%d_%H%M')"
创建的目录名。
# 备份文件
mv -r modules/ ~/backup/bp_cloud_server/20250807_1059/
mv -r lib/ ~/backup/bp_cloud_server/20250807_1059/
mv -r bin/ ~/backup/bp_cloud_server/20250807_1059/
4. 升级服务、依赖、启动脚本
先将安装包进行解压,假设我们解压到了 ~/package/basic-paper-cloud-server/
目录下。
# 进入安装目录
cd /usr/local/simperfect/basic-paper-cloud-server/
# 解压安装包
tar -zxvf basic-paper-cloud-server-1.1.0.tar.gz -C ~/package/basic-paper-cloud-server/
# 移动模块
mv -r ~/package/basic-paper-cloud-server/modules/ modules/
# 移动依赖
mv -r ~/package/basic-paper-cloud-server/lib/ lib/
# 移动启动脚本
mv -r ~/package/basic-paper-cloud-server/bin/ bin/
# 为脚本添加执行权限,如果已经存在权限则忽略
chmod +x bin/*
提示
升级为完成后可以将 ~/package/basic-paper-cloud-server
删除。
5. 启动服务
如果没有注册为服务,那么可以使用 startup-all.sh
启动服务,如果已经注册了服务,那么可以使用 systemctl
启动服务。
增量升级
一般小版本改动时会用到这种方式,比如只更新其中某个模块。
警告
不可删除服务器上的 lib
目录,否则会导致之前的程序可能丢失依赖而出现系统故障。
操作步骤
我们以升级 basic-paper-gateway
为例,来介绍如何进行增量升级。
1. 创建备份目录
旧版本备份到其他地方,比如 ~/backup/bp_cloud_server
,并创建当前日期时间的目录。
# 进入备份目录
cd ~/backup/bp_cloud_server
# 创建当前日期的目录
mkdir -p "$(date '+%Y%m%d_%H%M')/modules" "$(date '+%Y%m%d_%H%M')/bin"
2. 停止服务
./shutdown-basic-paper-gateway.sh
3. 备份服务、依赖、启动脚本
将需要更新的服务、依赖、启动脚本进行备份。以下命令中的 20250807_1059
是第一步中 mkdir "$(date '+%Y%m%d_%H%M')"
创建的目录名。
mv modules/basic-paper-gateway* ~/backup/bp_cloud_server/20250807_1059/modules/
cp -r lib/ ~/backup/bp_cloud_server/20250807_1059/
mv bin/startup-basic-paper-gateway.sh ~/backup/bp_cloud_server/20250807_1059/bin/
mv bin/shutdown-basic-paper-gateway.sh ~/backup/bp_cloud_server/20250807_1059/bin/
4. 升级服务、依赖、启动脚本
先将安装包进行解压,假设我们解压到了 ~/package/basic-paper-cloud-server/
目录下。
# 进入安装目录
cd /usr/local/simperfect/basic-paper-cloud-server/
# 解压安装包
tar -zxvf basic-paper-cloud-server-1.1.0.tar.gz -C ~/package/basic-paper-cloud-server/
# 移动模块
mv ~/package/basic-paper-cloud-server/modules/basic-paper-gateway* modules/
# 移动依赖
mv -rf ~/package/basic-paper-cloud-server/lib/ lib/
# 移动启动脚本
mv ~/package/basic-paper-cloud-server/bin/startup-basic-paper-gateway.sh bin/
mv ~/package/basic-paper-cloud-server/bin/shutdown-basic-paper-gateway.sh bin/
# 为脚本添加执行权限,如果已经存在权限则忽略
chmod +x bin/*
提示
升级为完成后可以将 ~/package/basic-paper-cloud-server
删除。
5. 启动服务
如果没有注册为服务,那么可以使用 startup-basic-paper-gateway.sh
启动服务,如果已经注册了服务,那么可以使用 systemctl
启动服务。