facc04aa65
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交 (5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。 一、docs 结构整改(整改 #14) 根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入, 随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录 树并存于 docs/,共 791 文件、双分类体系冲突。 修复动作: - b2 同名异主题文件改名迁移保全 9 个 - C 类 39 个孤立文件按主题正确归类 - A/B1 类 222 个重复文件删除(新结构已有内容副本) - 9 个旧独有空目录删除 - 270 处内部引用按 verified 映射改写 - 整改记录 #14 登记于 04-运维文档/部署运维 结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。 残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。 二、compose 双目录对齐(消除踩坑 A) - docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist 改为 src/frontend-*/dist(h5 / agent / admin / terminal) - docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/ - 效果:本地 docker compose up 不再把根目录 stale dist 挂回, 与线上一致,分叉隐患消除(已 docker compose config 校验通过) 防复发铁律: - 重构须提交;仓库修复须 git stash -u 或先 commit - 新结构须 git add 并提交,避免再次 untracked 复活 - H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
156 lines
4.6 KiB
Markdown
156 lines
4.6 KiB
Markdown
# 部署包 v0.5.3(2026-06-16)
|
|
|
|
## 🔄 v0.5.3 vs v0.5.2 区别
|
|
|
|
| 项 | v0.5.2 | v0.5.3 |
|
|
|------|------|------|
|
|
| 一站式运维平台 IT 链接 | 6 条 | **5 条**(去掉"IT设备升级与硬件维修",与一站式运维平台冲突) |
|
|
| 审批链接总数 | 10 条 | **9 条**(5 IT + 2 HR + 1 行政 + 1 财务) |
|
|
| 后端 hotfix | main.py / h5.py / ws.py | 同 3 个文件,只 main.py 内容变化 |
|
|
| 部署包文件 | deploy-backend-v052.tar | **deploy-backend-v053.tar** |
|
|
|
|
## 📦 包含文件
|
|
|
|
| 文件 | 大小 | 路径 | 说明 |
|
|
|------|------|------|------|
|
|
| `deploy-h5-v2.tar` | 645 KB | 本地 `D:\资料\03-项目开发\wecom_it_smart_desk\deploy-h5-v2.tar` | H5 前端强化版骨架屏(沿用 v0.5.2) |
|
|
| `deploy-backend-v053.tar` | 2.5 MB | 本地 `D:\资料\03-项目开发\wecom_it_smart_desk\deploy-backend-v053.tar` | **本版本后端**(替代 v052) |
|
|
|
|
## 🔄 后端 hotfix 清单(本版本)
|
|
|
|
1. **`backend/app/main.py`** — 审批链接 seed 改为 **5 IT + 2 HR + 1 行政 + 1 财务 = 9 条**,去除"IT设备升级与硬件维修"(申请单冲突)
|
|
2. **`backend/app/api/h5.py:836-846`** — `messages.id` UUID 比较 → 字符串比较(防 PG 报 "operator does not exist: character varying = uuid")
|
|
3. **`backend/app/api/ws.py:38,196`** — 移除 `request: Request` 参数,改用 `websocket.headers` / `websocket.query_params`(修 WS 连接失败)
|
|
|
|
## 🚀 部署步骤(PuTTY 一次跑完)
|
|
|
|
### 步骤 0:⚠️ 弃用 v0.5.2 部署包
|
|
|
|
> **重要**:上一版 `deploy-backend-v052.tar` 包含了已删除的"IT设备升级与硬件维修"链接,**不要上传** v052。只上传 v053。
|
|
|
|
### 步骤 1:WinSCP 上传 2 个包到 `/tmp/`
|
|
|
|
- `deploy-h5-v2.tar` (645 KB)
|
|
- `deploy-backend-v053.tar` (2.5 MB,新版本)
|
|
|
|
### 步骤 2:覆盖部署 H5 前端(如果上次已部署可跳过)
|
|
|
|
```bash
|
|
grep -c "app-loaded" /opt/wecom-it-desk/frontend-h5/dist/index.html
|
|
```
|
|
> 期望:`≥ 1`(已部署过)
|
|
|
|
### 步骤 3:覆盖部署后端 3 个 hotfix
|
|
|
|
```bash
|
|
cp -r /opt/wecom-it-desk/backend/app /opt/wecom-it-desk/backend/app.bak-$(date +%Y%m%d-%H%M)
|
|
```
|
|
> 备份当前后端
|
|
|
|
```bash
|
|
mkdir -p /tmp/backend-new-v053
|
|
```
|
|
> 创建新版解压目录
|
|
|
|
```bash
|
|
tar -xf /tmp/deploy-backend-v053.tar -C /tmp/backend-new-v053
|
|
```
|
|
> 解压 v053 包
|
|
|
|
```bash
|
|
yes | cp -f /tmp/backend-new-v053/backend/app/main.py /opt/wecom-it-desk/backend/app/main.py
|
|
```
|
|
> **强制覆盖** main.py(yes 自动回答 y)
|
|
|
|
```bash
|
|
yes | cp -f /tmp/backend-new-v053/backend/app/api/h5.py /opt/wecom-it-desk/backend/app/api/h5.py
|
|
```
|
|
> **强制覆盖** h5.py
|
|
|
|
```bash
|
|
yes | cp -f /tmp/backend-new-v053/backend/app/api/ws.py /opt/wecom-it-desk/backend/app/api/ws.py
|
|
```
|
|
> **强制覆盖** ws.py
|
|
|
|
### 步骤 4:验证覆盖成功(3 个 grep)
|
|
|
|
```bash
|
|
grep -c "devops.dc.servyou-it.com" /opt/wecom-it-desk/backend/app/main.py
|
|
```
|
|
> 期望输出:`5`(v0.5.3 改为 5 条)
|
|
|
|
```bash
|
|
grep -c "IT设备升级与硬件维修" /opt/wecom-it-desk/backend/app/main.py
|
|
```
|
|
> 期望输出:`0`(应已删除,只剩注释里可能有提及)
|
|
|
|
```bash
|
|
grep -c "str(after_message_id)" /opt/wecom-it-desk/backend/app/api/h5.py
|
|
```
|
|
> 期望输出:`1`
|
|
|
|
```bash
|
|
grep -c "request: Request" /opt/wecom-it-desk/backend/app/api/ws.py
|
|
```
|
|
> 期望输出:`0`
|
|
|
|
### 步骤 5:删旧数据 + 重启让新 seed 跑
|
|
|
|
```bash
|
|
docker exec -it wecom_it_postgres psql -U wecom -d wecom_it_desk -c "DELETE FROM approval_links;"
|
|
```
|
|
> 期望:`DELETE 8`(清掉旧占位符)
|
|
|
|
```bash
|
|
docker restart wecom_it_backend
|
|
```
|
|
> 重启后端
|
|
|
|
```bash
|
|
sleep 5
|
|
```
|
|
> 等后端启动完成
|
|
|
|
### 步骤 6:验证审批链接已 seed 进 9 条
|
|
|
|
```bash
|
|
docker exec -it wecom_it_postgres psql -U wecom -d wecom_it_desk -c "SELECT category, COUNT(*) FROM approval_links GROUP BY category ORDER BY category;"
|
|
```
|
|
> 期望输出:
|
|
> ```
|
|
> category | count
|
|
> -----------+-------
|
|
> IT | 5
|
|
> HR | 2
|
|
> 行政 | 1
|
|
> 财务 | 1
|
|
> ```
|
|
|
|
---
|
|
|
|
## ⚠️ 出错兜底(3 秒回滚)
|
|
|
|
```bash
|
|
# 后端回滚到上次备份
|
|
rm -rf /opt/wecom-it-desk/backend/app
|
|
mv /opt/wecom-it-desk/backend/app.bak-最新时间戳 /opt/wecom-it-desk/backend/app
|
|
docker restart wecom_it_backend
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 验证清单(用户跑完部署后逐项打勾)
|
|
|
|
- [ ] H5 骨架屏:浏览器访问 /itdesk/ 看到蓝色 logo + 文字
|
|
- [ ] /itadmin/ 不再 403
|
|
- [ ] H5 常用资源 **5 条** IT 工单链接(没有"IT设备升级与硬件维修",点开能跳到 devops.dc.servyou-it.com)
|
|
- [ ] /itagent/ WebSocket 连接成功(F12 Network 看 WS 状态 101)
|
|
- [ ] /itportal/ 业务功能正常
|
|
|
|
---
|
|
|
|
**部署包生成时间**:2026-06-16 08:40
|
|
**版本**:v0.5.3
|
|
**配套文档**:本文件 `部署包-2026-06-16-v0.5.3.md`
|
|
**前置版本**:v0.5.2(已弃用,不要再上传)
|