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

233 lines
4.7 KiB
Markdown

# 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: 使用远程构建脚本 (推荐) ⭐
**最简单,一键完成所有操作**
```bash
cd /Volumes/Dpan/github/xlcp/deploy
./scripts/remote-build.sh
```
**这个脚本会自动:**
1. 上传 backend 和 frontend 源代码
2. 在远程服务器编译构建
3. 启动所有服务
4. 健康检查
**注意:** 需要先修改脚本中的服务器地址为 `root@192.168.10.150`
---
### 方式 2: 手动分步执行
#### 2.1 上传源代码
```bash
# 上传 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 到服务器:
```bash
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
```
---
## 📝 验证部署
部署完成后,访问以下地址验证:
```bash
# 前端页面
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'
```
---
## 🔧 管理命令
```bash
# 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
---
## ⚠️ 注意事项
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% 的工作*