#!/bin/bash #本地压缩文件名 file_name="test-api.zip" #服器上的目录地址 file_path="test-api.hczcxx.cn" #服务器演示地址 demo_url="http://test-api.hczcxx.cn/" #服务器登录密码 passwd="%CX0&qPRk2BitWPH^tCa5jxZKPYuST" # 打包前的准备 node ./scripts/build.js # 执行打包命令 vite build # 恢复配置文件 node ./scripts/restore.js # 排除打包文件 if [ $1 == "wgt" ]; then node ./scripts/public.js fi # 执行打包为zip node ./scripts/zip.js # 上传到测试服务器 function uploadServer() { expect -c " spawn scp ./zip/${file_name} root@39.108.216.210:/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@39.108.216.210 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@39.108.216.210 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 [ $1 == "all" ]; then delPublic fi uploadServer