xlcp/deploy/DEPLOYMENT_STATUS.md
tangweijie bc40155ef0 chore: 添加部署配置及文档
- 新增 deploy/ 目录包含 Docker 部署配置、数据库脚本、部署脚本
- 更新 .gitignore 忽略 deploy 构建产物
- 添加 AGENTS.md AI Agent 指南
- 添加项目构建脚本 build.sh
2026-01-22 21:10:49 +08:00

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)

需要:

  1. 上传 backend 源代码
  2. 在服务器上 Maven 编译
  3. 构建 Docker 镜像
  4. 启动容器

预计时间: 10-15 分钟

前端服务 (Vue 3 + Node 20)

需要:

  1. 上传 frontend 源代码
  2. 在服务器上 pnpm 安装依赖
  3. 构建 Vue 应用
  4. 构建 Docker 镜像
  5. 启动 Nginx 容器

预计时间: 5-10 分钟


🚀 完成部署的两种方式

方式 1: 使用远程构建脚本 (推荐)

最简单,一键完成所有操作

cd /Volumes/Dpan/github/xlcp/deploy
./scripts/remote-build.sh

这个脚本会自动:

  1. 上传 backend 和 frontend 源代码
  2. 在远程服务器编译构建
  3. 启动所有服务
  4. 健康检查

注意: 需要先修改脚本中的服务器地址为 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

🎯 访问地址 (部署完成后)


⚠️ 注意事项

  1. Redis 端口已调整

    • 原端口: 6379
    • 新端口: 6380 (避免与现有服务冲突)
    • 已自动更新 .env 配置
  2. 首次部署需要构建

    • 后端 Java 编译需要 10-15 分钟
    • 前端 Vue 构建需要 5-10 分钟
    • 请耐心等待
  3. 磁盘空间

    • 镜像文件: 约 2GB
    • 构建缓存: 约 1GB
    • 日志和数据: 随时间增长
  4. 防火墙

    • 确保端口 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% 的工作