业务部署上线

系统上线操作手册(含回滚方案)


一、上线前准备

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