build.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. #本地压缩文件名
  3. file_name="dist.zip"
  4. #测试服器上的目录地址
  5. file_path="gis_bridge_project"
  6. #测试服务器上的演示地址
  7. demo_url="http://192.168.0.109:5181/"
  8. #测试服务器上的登录密码
  9. passwd="admin123@"
  10. # 打包前的准备
  11. node ./scripts/build.js
  12. # 执行打包命令
  13. vite build
  14. # 恢复配置文件
  15. node ./scripts/restore.js
  16. # 执行打包为zip
  17. node ./scripts/zip.js
  18. # 上传到测试服务器
  19. function testServer() {
  20. expect -c "
  21. spawn scp ./zip/${file_name} root@192.168.0.109:/www/wwwroot/${file_path}
  22. expect {
  23. \"yes/no\" {send \"yes\r\";exp_continue;}
  24. \"*password\" {set timeout 500;send \"${passwd}\r\";}
  25. }
  26. expect eof"
  27. #服务器上的相关操作
  28. /usr/bin/expect << EOF
  29. set time 30
  30. spawn ssh root@192.168.0.109
  31. expect {
  32. "*yes/no" { send "yes\r"; exp_continue }
  33. "*password:" { send "${passwd}\r" }
  34. }
  35. # 进入当前项目的目录
  36. expect "*]#"
  37. send "cd /www/wwwroot/${file_path}\r"
  38. # 删除 static 目录
  39. expect "*]#"
  40. send "rm -rf static\r"
  41. # 解压上传的文件压缩包
  42. expect "*]#"
  43. send "unzip -o ${file_name}\r"
  44. # 退出
  45. send "exit\r"
  46. expect eof
  47. EOF
  48. echo "编译打包后自动部署到测试服务器上完成"
  49. echo "测试服务器地址:${demo_url}"
  50. }
  51. # 上传到测试服务器
  52. if [ $2 == "test" ]; then
  53. testServer
  54. else
  55. echo "编译完成"
  56. fi