#!/bin/bash # 手动部署坐席端前端脚本 # 在服务器上执行: bash /tmp/manual-deploy-agent.sh set -e echo "========================================" echo "坐席端手动部署脚本" echo "========================================" # 1. 清理旧文件 echo "[1/4] 清理旧文件..." cd /opt/wecom-it-desk/html/itagent/ rm -rf assets dist index.html *.zip *.tar.gz 2>/dev/null || true # 2. 创建临时目录 echo "[2/4] 创建临时目录..." mkdir -p /tmp/agent-deploy cd /tmp/agent-deploy # 3. 下载新文件 (需要手动上传 agent-v3.tar.b64 到 /tmp/) # 请先手动上传文件,然后执行以下命令: # - 方法1: 通过 jumpserver elFinder 上传到 /tmp/ # - 方法2: 通过其他方式上传 # 检查文件是否存在 if [ -f "/tmp/agent-v3.tar.b64" ]; then echo "[3/4] 解压部署包..." # 解压 base64 -d /tmp/agent-v3.tar.b64 > agent-v3.tar.gz tar -xzf agent-v3.tar.gz # 移动文件(使用 rsync 替代 cp,确保文件真正覆盖) # --checksum: 基于 checksum 对比,不依赖 mtime # -a: 归档模式,保留权限和时间戳 # -v: 显示详细输出 # --delete: 删除目标目录中源目录没有的文件 rsync -av --checksum --delete dist/ /opt/wecom-it-desk/html/itagent/ # 4. 重启 nginx echo "[4/4] 重启 nginx..." sudo systemctl reload nginx echo "========================================" echo "部署完成!" echo "访问地址: https://itsupport.servyou.com.cn/itagent/" echo "========================================" else echo "❌ 错误: /tmp/agent-v3.tar.b64 不存在" echo "" echo "请先上传部署包到服务器:" echo "1. 本地文件: frontend-agent/agent-v3.tar.b64" echo "2. 上传到服务器的 /tmp/agent-v3.tar.b64" echo "" echo "然后再次运行此脚本" exit 1 fi