系统上线操作手册(含回滚方案)
一、上线前准备
1. 确认上线版本
- 确认前端
dist.zip包版本号 - 确认后端
sapi-0.0.1-SNAPSHOT.jar包版本号 - 确认数据库变更脚本(如有)
2. 备份当前生产数据
执行数据库脚本
二、前端部署(静态资源)
1. 进入工作目录并备份
在部署新版本前,请先备份当前生产环境的静态资源文件。
bash
# 切换到数据目录
cd /data/
# 备份现有 web 目录
cp -r web/ web_backup_$(date +%Y%m%d)/
# 进入 web 目录准备部署
cd /data/web
2. 上传 dist.zip 包
将新版本的前端构建产物 dist.zip 上传至服务器的 /data/web 目录。
bash
# 假设 dist.zip 已通过 scp 或其他方式上传至此目录
# 上传后,文件应位于 /data/web/dist.zip
3. 部署新版本(直接解压覆盖)
解压上传的 dist.zip 文件,覆盖现有静态资源。
bash
# 确保当前位于 /data/web 目录
# cd /data/web
# 解压文件,-o 参数表示覆盖已存在的文件
unzip -o dist.zip
4. 清理压缩包
部署完成后,可删除上传的压缩包以释放空间。
bash
rm -f /data/web/dist.zip
三、后端部署(Spring Boot Jar包 + Docker)
1. 进入应用目录并备份
在更新后端服务前,请备份当前正在运行的 Jar 包。
bash
# 切换到后端应用目录
cd /data/lss/sapi
# 备份当前 Jar 包
cp sapi-0.0.1-SNAPSHOT.jar sapi-0.0.1-SNAPSHOT.jar_backup_$(date +%Y%m%d)
2. 上传并覆盖 Jar 包
将新版本的 sapi-0.0.1-SNAPSHOT.jar 上传至 /data/lss/sapi/ 目录,并覆盖原有的 Jar 文件。
3. 重启 Docker 容器
使用 Docker 命令重启后端服务容器,以使新版本生效。
bash
docker restart sapi
4. 等待容器启动完成
容器重启后,请观察启动日志,确保服务正常启动。
bash
# 查看容器最近 200 行日志,检查是否有错误
docker logs sapi --tail 200
四、回滚方案
若上线后发现问题,请按以下步骤快速回滚至上一稳定版本。
1. 前端回滚
回滚前端静态资源至备份版本。
bash
# 进入数据目录
cd /data/
# 保留当前问题版本,便于后续排查(重命名而非删除)
mv web/ web_fail_$(date +%Y%m%d)/
# 恢复备份的版本
cp -r web_backup_$(date +%Y%m%d)/ web/
2. 后端回滚
回滚后端 Jar 包并重启服务。
bash
# 进入后端应用目录
cd /data/lss/sapi
# 恢复备份的旧版本 Jar 包
cp sapi-0.0.1-SNAPSHOT.jar_backup_$(date +%Y%m%d) sapi-0.0.1-SNAPSHOT.jar
# 重启 Docker 容器以加载旧版本
docker restart sapi
# 观察启动日志,确认回滚成功
docker logs sapi --tail 200