提交 d7a1ecb9 authored 作者: 陈泽健's avatar 陈泽健

docs(auto-update): 更新X86自动更新部署包版本需求文档

- 修复auth包路径错误:auth-sso-aut改为auth-sso-auth
- 更新服务包传输流程,明确传输到打包服务器的/data/目录
- 增加路径映射重命名步骤,处理测试服务器与打包服务器目录名称差异
- 添加X86架构远程部署阶段,包括部署配置、传输、执行和验证流程
- 新增步骤11执行X86远程部署的功能和异常处理机制
- 更新验收标准,增加路径映射和X86部署验证要求
- 修正流程图,添加路径映射和X86部署节点
- 增加命令行参数--skip-deploy用于跳过部署步骤
- 更新远程自动化部署文档中的备份策略说明
上级 bece3414
......@@ -64,7 +64,7 @@
- static文件夹
### 后端服务目录:
- auth包:/data/services/api/auth/auth-sso-aut
- auth包:/data/services/api/auth/auth-sso-auth
- ubains-auth.jar
- gatway包:/data/services/api/auth/auth-sso-gatway
- ubains-gateway.jar
......@@ -161,7 +161,7 @@
## 更新操作流程
1. 从网盘[Z:\发布版本\03服务器部署\15新统一平台\X86部署包\全量版]将服务包`offline_auto_unifiedPlatform.tar.gz``offline_auto_unifiedPlatform.tar.gz.md5`传入到打包服务器。
2. 在打包服务器上解压缩tar.gz格式包,解压缩完成后删除tar.gz格式包和md5文件。
3. 从测试服务器上提取所有服务包,压缩成tar.gz格式传到打包服务器。
3. 从测试服务器上提取所有服务包,压缩成tar.gz格式传到打包服务器的/data/目录下,可以命名为`services_update.tar.gz`
4. 在打包服务器上解压缩tar.gz格式包
5. 执行服务包更新替换操作,不需要做备份
6. 执行更新替换操作过程中恢复配置文件,如config.json和settingbus.conf文件。
......
# 计划执行_X86自动更新部署包版本
> 版本:V1.1
> 版本:V1.2
> 创建日期:2026-06-03
> 基于文档:`_PRD_X86自动更新部署包版本_需求文档.md`
> 交付物:
......@@ -72,6 +72,10 @@ AuxiliaryTool/ScriptTool/RemoteUpdate/
"frontend": [...],
"backend_jar": [...],
"backend_folder": [...]
},
"path_mapping": {
"pc-vue2-meetngV2": "pc-vue2-meetingV2",
"pc-vue2-meetngV3": "pc-vue2-meetingV3"
}
}
```
......@@ -110,8 +114,17 @@ def step2_extract_package(self):
| 序号 | 任务 | 描述 | 实现要点 |
|------|------|------|----------|
| 3.1 | 打包测试服务 | SSH 到测试服务器,将所有目标服务目录打包成 `services_update.tar.gz` | 只打包文档列出的目录,排除无关文件 |
| 3.2 | 传输到打包服务器 | SFTP 从测试服务器下载到本地,再上传到打包服务器 | 或直接服务器间传输 |
| 3.2 | 传输到打包服务器 | SFTP 从测试服务器下载到本地,再上传到打包服务器`/data/` 目录,文件命名 `services_update.tar.gz` | 或直接服务器间传输 |
| 3.3 | 解压服务包 | 在打包服务器上解压到临时目录 | 保持目录结构 |
| 3.4 | 路径映射重命名 | 将临时解压目录中名称不同的目录重命名为打包服务器对应的目录名 | `mv` 重命名,见下方路径映射表 |
**⚠️ 路径映射说明:**
> 测试服务器和打包服务器上部分目录名称不同,在打包服务器上解压后需要重命名:
| 测试服务器目录名 | 打包服务器目录名 | 重命名命令 |
|----------------|----------------|-----------|
| `pc-vue2-meetngV2` | `pc-vue2-meetingV2` | `mv meetngV2 meetingV2` |
| `pc-vue2-meetngV3` | `pc-vue2-meetingV3` | `mv meetngV3 meetingV3` |
**打包范围(只打包以下目录):**
```bash
......@@ -131,7 +144,7 @@ tar -czf /tmp/services_update.tar.gz \
web/h5/h5-uniapp-moniter \
web/h5/h5-uniapp-platform/meeting-mobile \
web/h5/h5-uniapp-platform/unified-platform-mobile \
api/auth/auth-sso-aut \
api/auth/auth-sso-auth \
api/auth/auth-sso-gatway \
api/auth/auth-sso-system \
api/java-meeting/java-meeting2.0 \
......@@ -166,8 +179,9 @@ tar -czf /tmp/services_update.tar.gz \
**覆盖流程(每个服务):**
```
0. [已在步骤3.4完成] 临时解压目录中的路径映射重命名(meetngV2→meetingV2 等)
1. 从打包服务器原始目录提取 config.json / settingbus.conf → 保存到本地临时目录
2. 将测试服务器的新文件覆盖到打包服务器对应目录
2. 将解压后的新文件覆盖到打包服务器对应目录(路径已在步骤3.4映射完毕)
3. 将保存的配置文件写回打包服务器
4. 检查每步操作的返回码,失败则立即停止
```
......@@ -230,6 +244,49 @@ tar -czf /tmp/services_update.tar.gz \
---
### 阶段七:步骤11 执行X86架构远程部署(优先级:高)
| 序号 | 任务 | 描述 | 实现要点 |
|------|------|------|----------|
| 7.1 | 读取部署配置 | 读取远程自动化部署需求文档中X86架构的配置信息 | 目标服务器:192.168.5.52,参考 `_PRD_远程自动化部署_需求文档.md` |
| 7.2 | 传输部署包 | 将网盘待验证目录中的部署包传到目标服务器 `/data/` | SFTP 传输 tar.gz + md5 |
| 7.3 | 执行X86部署 | 按X86部署文档执行自动化部署操作 | 参考 `X86架构_新统一平台自动化部署操作指导.md` |
| 7.4 | 授权文件处理 | 传输并处理授权文件 | 授权文件:`E:\自动化部署\X86-5.52\license.zip` |
| 7.5 | 服务验证 | 验证各服务是否正常启动 | 接口重试5次,每次间隔30秒 |
| 7.6 | 记录部署结果 | 将部署结果追加到报告中 | 成功/失败状态 |
**目标服务器信息:**
| 项目 | 值 |
|------|---|
| 架构 | X86 |
| IP | 192.168.5.52 |
| 账号 | root |
| 密码 | Ubains@123 |
| 部署包来源 | `Z:\发布版本\...\X86部署包\全量版\版本更新-待验证` |
| 授权文件 | `E:\自动化部署\X86-5.52\license.zip` |
| 部署文档 | `Docs/PRD/远程自动化部署/X86架构_新统一平台自动化部署操作指导.md` |
**服务验证要求:**
- 重试次数:5次
- 重试间隔:30秒
- 重试条件:调用失败或成功时都等待30秒
- 成功条件:测试结果为成功时标识为服务启动正常
**关键实现:**
```python
def step11_deploy_x86(self):
"""步骤11:根据远程自动化部署需求文档执行X86架构的部署操作"""
# 1. 读取远程部署配置
# 2. 将部署包从网盘待验证目录传输到目标服务器 192.168.5.52
# 3. 按X86部署文档执行部署流程
# 4. 处理授权文件
# 5. 验证服务启动(重试5次,间隔30秒)
# 6. 将部署结果追加到报告中
```
---
## 四、开发流程规范
### 主流程图
......@@ -241,7 +298,8 @@ flowchart TD
B1 -->|失败| ERR[异常终止]
B1 -->|成功| C[步骤2: 解压并清理]
C --> D[步骤3: 从测试服务器打包所有服务]
D --> E[步骤4: 解压服务包到打包服务器]
D --> D1[步骤3.4: 路径映射重命名 meetngV2→meetingV2]
D1 --> E[步骤4: 解压服务包到打包服务器]
E --> F[步骤5-6: 逐个服务覆盖+配置保留]
F --> F1{覆盖是否成功}
F1 -->|失败| ERR2[停止更新, 输出失败文件]
......@@ -249,18 +307,24 @@ flowchart TD
G --> H[步骤8: 下载并拷贝到网盘]
H --> I[步骤9: 清理所有临时文件]
I --> J[步骤10: 生成报告]
J --> K[结束]
J --> L[步骤11: 执行X86架构远程部署]
L --> L1{部署是否成功}
L1 -->|失败| ERR3[记录失败, 输出报告]
L1 -->|成功| K[结束]
```
### 命令行参数
```bash
# 完整更新流程
# 完整更新+部署流程(步骤1-11)
python x86_package_update.py
# 仅更新服务(跳过步骤1-2,打包服务器已有解压后的部署包)
python x86_package_update.py --update-only
# 跳过远程部署(只执行步骤1-10,不执行步骤11)
python x86_package_update.py --skip-deploy
# 查看帮助
python x86_package_update.py --help
```
......@@ -281,6 +345,10 @@ python x86_package_update.py --help
| 打包失败 | 停止执行,检查磁盘空间 | 阻塞 |
| 网盘拷贝失败 | 保留本地文件,提示手动拷贝,输出目标路径 | 不阻塞报告 |
| 磁盘空间不足 | 执行前检查,空间不足则提前停止 | 阻塞 |
| 路径映射重命名失败 | 停止执行,检查目录是否正确解压 | 阻塞 |
| X86部署包传输失败 | 重试2次,仍失败则跳过部署步骤,记录到报告 | 不阻塞报告 |
| X86部署执行失败 | 记录失败原因到报告,不阻塞报告生成 | 不阻塞报告 |
| 服务验证超时 | 记录失败服务,重试5次后标记为失败 | 不阻塞报告 |
**覆盖中断恢复机制:**
- 覆盖过程中断后可重新执行脚本来恢复
......@@ -297,6 +365,7 @@ python x86_package_update.py --help
| 本地系统 | Windows 11 |
| 测试服务器 | 192.168.5.44 |
| 打包服务器 | 192.168.5.68 |
| X86部署目标服务器 | 192.168.5.52 |
| 网盘 | Z:\发布版本\... |
### 验收标准
......@@ -305,6 +374,7 @@ python x86_package_update.py --help
- [ ] 能从网盘读取部署包并校验MD5
- [ ] 能将部署包上传到打包服务器并解压
- [ ] 能从测试服务器提取所有23个服务包
- [ ] 能正确执行路径映射(meetngV2→meetingV2, meetngV3→meetingV3)
- [ ] 能将测试服务器的服务正确覆盖到打包服务器
- [ ] 前端服务覆盖后 config.json 配置文件正确保留
- [ ] cmdb 服务覆盖后 settingbus.conf 配置文件正确保留
......@@ -315,6 +385,9 @@ python x86_package_update.py --help
- [ ] 能清理所有临时文件
- [ ] 能生成包含新旧版本对比、操作步骤、大小、耗时、状态的报告
- [ ] 全流程日志记录完整
- [ ] 能将更新后的部署包部署到X86目标服务器(192.168.5.52)
- [ ] 部署后服务验证通过(重试5次,间隔30秒)
- [ ] `--skip-deploy` 参数可跳过部署步骤
---
......@@ -336,10 +409,11 @@ python x86_package_update.py --help
|------|------|----------|------|
| 阶段一:基础框架与配置 | ✅ 已完成 | 2026-06-03 | config.json + 主脚本框架 |
| 阶段二:网盘下载与解压 | ✅ 已完成 | 2026-06-03 | MD5校验通过,8.67GB上传+解压成功 |
| 阶段三:测试服务器取包 | 🔄 测试中 | | 修复auth路径 auth-sso-aut→auth-sso-auth,增加目录存在性检查 |
| 阶段三:测试服务器取包 | 🔄 测试中 | | 增加目录存在性检查,新增路径映射步骤(meetngV2→meetingV2) |
| 阶段四:服务替换与配置保留 | ⬜ 待执行 | | |
| 阶段五:打包上传与清理 | ⬜ 待执行 | | |
| 阶段六:报告生成 | ⬜ 待执行 | | |
| 阶段七:X86远程部署 | ⬜ 待执行 | | 步骤11,目标服务器192.168.5.52 |
| 完整流程测试 | 🔄 测试中 | | 步骤1-2已验证通过 |
---
......@@ -355,8 +429,8 @@ python x86_package_update.py --help
| 1 | ai包 | web/pc/pc-vue2-ai | config.json |
| 2 | 后台包 | web/pc/pc-vue2-backstage | config.json |
| 3 | main包 | web/pc/pc-vue2-main | config.json |
| 4 | meetngV2包 | web/pc/pc-vue2-meetngV2 | config.json |
| 5 | meetngV3包 | web/pc/pc-vue2-meetngV3 | config.json |
| 4 | meetngV2包 | web/pc/pc-vue2-meetngV2 | config.json ⚠️映射 |
| 5 | meetngV3包 | web/pc/pc-vue2-meetngV3 | config.json ⚠️映射 |
| 6 | meetingControl包 | web/pc/pc-vue2-meetingControl | config.json |
| 7 | monitor包 | web/pc/pc-vue2-moniter | config.json |
| 8 | platform包 | web/pc/pc-vue2-platform | config.json |
......@@ -391,7 +465,24 @@ python x86_package_update.py --help
- 测试服务器完整路径:`/data/services/` + 相对路径
- 打包服务器完整路径:`/data/offline_auto_unifiedPlatform/data/services/` + 相对路径
### C. 路径映射表(测试服务器→打包服务器)
> 以下目录在测试服务器和打包服务器上的名称不同,步骤3.4需执行重命名操作。
| 序号 | 服务名称 | 测试服务器相对路径 | 打包服务器相对路径 |
|------|---------|------------------|------------------|
| 1 | meetngV2包 | `web/pc/pc-vue2-meetngV2` | `web/pc/pc-vue2-meetingV2` |
| 2 | meetngV3包 | `web/pc/pc-vue2-meetngV3` | `web/pc/pc-vue2-meetingV3` |
### D. X86远程部署信息
- 目标服务器:192.168.5.52(X86架构-欧拉服务器)
- 部署文档:`Docs/PRD/远程自动化部署/X86架构_新统一平台自动化部署操作指导.md`
- 部署包来源:`Z:\发布版本\03服务器部署\15新统一平台\X86部署包\全量版\版本更新-待验证`
- 授权文件:`E:\自动化部署\X86-5.52\license.zip`
---
*文档创建日期:2026-06-03*
*文档更新日期:2026-06-03*
*文档状态:测试中*
......@@ -68,8 +68,8 @@
- X86架构:`offline_auto_unifiedPlatform.tar.gz``offline_auto_unifiedPlatform.tar.gz.md5`
- ARM架构:`arm_offline_auto_unifiedPlatform.tar.gz``arm_offline_auto_unifiedPlatform.tar.gz.md5`
- 部署包输出:
- X86架构:`Z:\发布版本\03服务器部署\15新统一平台\X86部署包\全量版`
- ARM架构:`Z:\发布版本\03服务器部署\15新统一平台\ARM部署包\全量版`
- X86架构:`Z:\发布版本\03服务器部署\15新统一平台\X86部署包\全量版`,如果这个目录下存在`offline_auto_unifiedPlatform.tar.gz``offline_auto_unifiedPlatform.tar.gz.md5`文件,则将这两份文件备份在同级目录的备份文件夹,命名为:`备份+年份+日期`,文件夹需创建。
- ARM架构:`Z:\发布版本\03服务器部署\15新统一平台\ARM部署包\全量版`,如果这个目录下存在`arm_offline_auto_unifiedPlatform.tar.gz``arm_offline_auto_unifiedPlatform.tar.gz.md5`文件,则将这两份文件备份在同级目录的备份文件夹,命名为:`备份+年份+日期`,文件夹需创建。
## 验收要求
1. 自动化部署完成后检查容器状态是否正常,核查容器日志是否正确。
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论