#!/bin/bash echo "" echo "[信息] 开始部署流程..." echo "" # 切换到项目根目录 cd "$(dirname "$0")/.." # 步骤1: 构建项目(production环境) echo "[步骤 1/4] 构建项目(production环境)..." npm run build:prod if [ $? -ne 0 ]; then echo "[错误] 构建失败!" exit 1 fi echo "[成功] 构建完成" echo "" # 步骤2: 压缩打包文件 echo "[步骤 2/4] 压缩打包文件..." if [ -f "epmet-work-pc.zip" ]; then rm -f epmet-work-pc.zip echo "[信息] 删除旧的压缩包" fi cd epmet-work-pc zip -r ../epmet-work-pc.zip . > /dev/null cd .. if [ $? -ne 0 ]; then echo "[错误] 压缩失败!" exit 1 fi echo "[成功] 压缩完成:epmet-work-pc.zip" echo "" # 步骤3: 上传文件到服务器 echo "[步骤 3/4] 上传文件到服务器..." scp epmet-work-pc.zip root@192.168.1.144:/opt/www/epmet-work-pc if [ $? -ne 0 ]; then echo "[错误] 上传失败!请检查SSH连接配置" exit 1 fi echo "[成功] 文件上传完成" echo "" # 步骤4: 在服务器上解压文件 echo "[步骤 4/4] 在服务器上解压文件..." ssh root@192.168.1.144 "cd /opt/www/epmet-work-pc && unzip -o epmet-work-pc.zip && rm -f epmet-work-pc.zip" if [ $? -ne 0 ]; then echo "[错误] 解压失败!" exit 1 fi echo "[成功] 解压完成" echo "" echo "[完成] 部署成功!" echo "部署位置:192.168.1.144:/opt/www/epmet-work-pc" echo "" # 清理本地压缩包 rm -f epmet-work-pc.zip rm -rf epmet-work-pc