#!/bin/bash #本地压缩文件名 file_name="client.zip" #测试服器上的目录地址 file_path="user.hcxxy.com" #测试服务器上的演示地址 demo_url="http://192.168.0.109:5173/" #测试服务器上的登录密码 passwd="admin123@" # 打包前的准备 node ./scripts/build.js # 执行打包命令 vite build # 恢复配置文件 node ./scripts/restore.js # 排除打包文件 if [ $1 == "wgt" ]; then node ./scripts/public.js fi # 执行打包为zip node ./scripts/zip.js current_time=$(date "+%Y%m%d%H%M%S") # 上传到测试服务器 function testServer() { expect -c " spawn scp ./zip/${file_name} root@192.168.0.109:/www/wwwroot/${file_path} expect { \"yes/no\" {send \"yes\r\";exp_continue;} \"*password\" {set timeout 500;send \"${passwd}\r\";} } expect eof" #服务器上的相关操作 /usr/bin/expect << EOF set time 30 spawn ssh root@192.168.0.109 expect { "*yes/no" { send "yes\r"; exp_continue } "*password:" { send "${passwd}\r" } } # 进入当前项目的目录 expect "*]#" send "cd /www/wwwroot/${file_path}\r" # 删除 static 目录 expect "*]#" send "rm -rf static\r" # 解压上传的文件压缩包 expect "*]#" send "unzip -o ${file_name}\r" # 退出 send "exit\r" expect eof EOF echo "编译打包后自动部署到测试服务器上完成" echo "测试服务器地址:${demo_url}" } # 删除 plugins 等目录 function delPublic() { echo "准备移除 plugins 等目录" #服务器上的相关操作 /usr/bin/expect << EOF set time 30 spawn ssh root@192.168.0.109 expect { "*yes/no" { send "yes\r"; exp_continue } "*password:" { send "${passwd}\r" } } # 进入当前项目的目录 expect "*]#" send "cd /www/wwwroot/${file_path}\r" # 删除 plugins 目录 expect "*]#" send "rm -rf plugins\r" # 退出 send "exit\r" expect eof EOF echo "plugins 等目录移除完成" } # 上传到测试服务器 if [ $2 == "test" ]; then if [ $1 == "all" ]; then delPublic fi testServer else echo "编译完成" fi