- 新增 deploy/ 目录包含 Docker 部署配置、数据库脚本、部署脚本 - 更新 .gitignore 忽略 deploy 构建产物 - 添加 AGENTS.md AI Agent 指南 - 添加项目构建脚本 build.sh
233 lines
4.7 KiB
Markdown
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% 的工作*
|