Files
wecom_it_smart_desk/docs/10-任务说明/P1-03-修后端文件覆盖.md

1.6 KiB
Raw Permalink Blame History

P1-03: 修后端文件未真正覆盖

任务概述

项目 内容
需求ID #73
优先级 P1
状态 已完成
预估工时 2h
完成时间 2026-07-06

背景

部署时使用 cp 复制后端文件,但偶尔发现文件未真正覆盖。

根因分析

  • Docker bind mount + RO(只读)模式下,cp 可能不报错但实际未写入
  • 需要改用 rsync --checksum 强制对比和覆盖

当前部署流程

当前已改用 Docker 镜像部署:

  1. package.sh 打包前端 dist 到 zip
  2. 服务器上解压并 docker compose up -d --build
  3. Nginx 通过 bind mount 读取 ./html/ 目录

手动部署场景:

  • manual-deploy-agent.sh 用于单独部署坐席前端

修改内容

deploy-server/manual-deploy-agent.sh

# 修改前
cp -r dist/* /opt/wecom-it-desk/html/itagent/

# 修改后
rsync -av --checksum --delete dist/ /opt/wecom-it-desk/html/itagent/

参数说明

参数 作用
-a 归档模式(保留权限、时间戳等)
-v 显示详细输出
--checksum 基于 checksum 对比,不比较 mtime
--delete 删除目标目录中源目录没有的文件

验收标准

  • 部署脚本已改用 rsync
  • 验证脚本可用(-n 参数测试)
  • 部署后文件真正覆盖
  • 文档已更新

实施步骤

  1. 找到现有部署脚本
  2. cp -r 替换为 rsync -av --checksum --delete
  3. 添加部署后验证脚本(可选)
  4. 本地测试
  5. 更新文档