#!/bin/bash #本地压缩文件名 file_name="ui-doc.zip" #测试服器上的目录地址 file_path="ui.hczcxx.cn" #测试服务器上的演示地址 demo_url="http://192.168.0.109:3300/" #测试服务器上的登录密码 passwd="admin123@" # 打包前的准备 node ./scripts/build.js # 执行打包命令 initial-scan docs && cross-env NODE_ENV=production vitepress build .docs # 执行打包为zip node ./scripts/zip.js #上传到测试服务器上 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" # 删除 assets 目录 expect "*]#" send "rm -rf assets\r" # 删除 components 目录 expect "*]#" send "rm -rf components\r" # 删除 guide 目录 expect "*]#" send "rm -rf guide\r" # 删除 style 目录 expect "*]#" send "rm -rf style\r" # 解压上传的文件压缩包 expect "*]#" send "unzip -o ${file_name}\r" # 退出 send "exit\r" expect eof EOF echo "编译打包后自动部署到测试服务器上完成" echo "测试服务器地址:${demo_url}"