- 新增 deploy/ 目录包含 Docker 部署配置、数据库脚本、部署脚本 - 更新 .gitignore 忽略 deploy 构建产物 - 添加 AGENTS.md AI Agent 指南 - 添加项目构建脚本 build.sh
4.7 KiB
4.7 KiB
XL监狱综合管理平台 - 部署完成报告
📊 部署状态
✅ 已完成 (方案 A - 离线部署)
步骤 1: 本地镜像打包 ✅
- 下载并打包了 6 个 Docker 镜像
- 文件:
xlcp-docker-images.tar.gz(592MB) - 完成时间: 约 15 分钟
步骤 2: 上传镜像到服务器 ✅
- 目标服务器:
root@192.168.10.150 - 部署目录:
/projects/data/xlcp - 上传时间: 约 1 分钟 (内网速度 ~10MB/s)
- 所有镜像已成功加载
步骤 3: 启动基础服务 ✅
运行中的服务:
- ✅ MySQL 8.0 - 端口 3306 - 健康检查通过
- ✅ Redis 7 - 端口 6380 - 健康检查通过 (已自动调整端口避免冲突)
服务器信息:
- 架构: ARM64 (aarch64)
- 系统: openEuler 22.03 (LTS-SP4)
- Docker: v28.5.2
- Docker Compose: v2.40.3 (同时支持 docker-compose v1)
- 内存: 250GB 总计
- 磁盘: 62GB 可用
⚠️ 待完成
步骤 4: 构建并启动应用服务
由于应用需要在服务器上编译构建,还需要以下步骤:
后端服务 (Spring Boot + Java 21)
需要:
- 上传 backend 源代码
- 在服务器上 Maven 编译
- 构建 Docker 镜像
- 启动容器
预计时间: 10-15 分钟
前端服务 (Vue 3 + Node 20)
需要:
- 上传 frontend 源代码
- 在服务器上 pnpm 安装依赖
- 构建 Vue 应用
- 构建 Docker 镜像
- 启动 Nginx 容器
预计时间: 5-10 分钟
🚀 完成部署的两种方式
方式 1: 使用远程构建脚本 (推荐) ⭐
最简单,一键完成所有操作
cd /Volumes/Dpan/github/xlcp/deploy
./scripts/remote-build.sh
这个脚本会自动:
- 上传 backend 和 frontend 源代码
- 在远程服务器编译构建
- 启动所有服务
- 健康检查
注意: 需要先修改脚本中的服务器地址为 root@192.168.10.150
方式 2: 手动分步执行
2.1 上传源代码
# 上传 backend
rsync -avz --exclude node_modules --exclude target \
../backend/ root@192.168.10.150:/projects/data/xlcp/backend/
# 上传 frontend
rsync -avz --exclude node_modules --exclude 'dist*' \
../frontend/ root@192.168.10.150:/projects/data/xlcp/frontend/
2.2 构建并启动服务
SSH 到服务器:
ssh root@192.168.10.150
cd /projects/data/xlcp
# 构建后端镜像
docker-compose build backend
# 构建前端镜像
docker-compose build frontend
# 启动所有服务
docker-compose up -d
# 查看状态
docker-compose ps
📝 验证部署
部署完成后,访问以下地址验证:
# 前端页面
curl http://192.168.10.150/
# 后端健康检查
curl http://192.168.10.150:48080/actuator/health
# 查看日志
ssh root@192.168.10.150 'cd /projects/data/xlcp && docker-compose logs -f'
🔧 管理命令
# SSH 到服务器
ssh root@192.168.10.150
# 进入项目目录
cd /projects/data/xlcp
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 重启服务
docker-compose restart backend frontend
# 停止所有服务
docker-compose stop
# 启动所有服务
docker-compose start
# 删除所有容器
docker-compose down
🎯 访问地址 (部署完成后)
- 前端页面: http://192.168.10.150/
- 后端 API: http://192.168.10.150:48080/admin-api/
- 健康检查: http://192.168.10.150:48080/actuator/health
⚠️ 注意事项
-
Redis 端口已调整
- 原端口: 6379
- 新端口: 6380 (避免与现有服务冲突)
- 已自动更新
.env配置
-
首次部署需要构建
- 后端 Java 编译需要 10-15 分钟
- 前端 Vue 构建需要 5-10 分钟
- 请耐心等待
-
磁盘空间
- 镜像文件: 约 2GB
- 构建缓存: 约 1GB
- 日志和数据: 随时间增长
-
防火墙
- 确保端口 80, 48080, 3306, 6380 已开放
- 或在内网访问
📞 下一步
请选择:
A. 一键完成部署 (推荐)
- 运行:
./scripts/remote-build.sh - 等待 10-30 分钟自动完成
B. 手动分步部署
- 按照上述步骤手动执行
- 更可控,可以看到详细过程
C. 暂时停止
- MySQL 和 Redis 已运行
- 可以稍后继续部署应用
📊 部署时间线
| 步骤 | 操作 | 耗时 | 状态 |
|---|---|---|---|
| 1 | 本地打包镜像 | 15 分钟 | ✅ 完成 |
| 2 | 上传镜像到服务器 | 1 分钟 | ✅ 完成 |
| 3 | 启动 MySQL/Redis | 1 分钟 | ✅ 完成 |
| 4 | 构建后端服务 | 10-15 分钟 | ⏳ 待完成 |
| 5 | 构建前端服务 | 5-10 分钟 | ⏳ 待完成 |
| 总计 | 32-42 分钟 | 60% 完成 |
当前进度: 60%
✅ 基础设施已就绪 ⏳ 应用服务待部署
建议使用远程构建脚本一键完成剩余 40% 的工作