online.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #!/bin/bash
  2. #本地压缩文件名
  3. file_name="test-api.zip"
  4. #服器上的目录地址
  5. file_path="test-api.hczcxx.cn"
  6. #服务器演示地址
  7. demo_url="http://test-api.hczcxx.cn/"
  8. #服务器登录密码
  9. passwd="%CX0&qPRk2BitWPH^tCa5jxZKPYuST"
  10. # 打包前的准备
  11. node ./scripts/build.js
  12. # 执行打包命令
  13. vite build
  14. # 恢复配置文件
  15. node ./scripts/restore.js
  16. # 排除打包文件
  17. if [ $1 == "wgt" ]; then
  18. node ./scripts/public.js
  19. fi
  20. # 执行打包为zip
  21. node ./scripts/zip.js
  22. # 上传到测试服务器
  23. function uploadServer() {
  24. expect -c "
  25. spawn scp ./zip/${file_name} root@39.108.216.210:/www/wwwroot/${file_path}
  26. expect {
  27. \"yes/no\" {send \"yes\r\";exp_continue;}
  28. \"*password\" {set timeout 500;send \"${passwd}\r\";}
  29. }
  30. expect eof"
  31. #服务器上的相关操作
  32. /usr/bin/expect << EOF
  33. set time 30
  34. spawn ssh root@39.108.216.210
  35. expect {
  36. "*yes/no" { send "yes\r"; exp_continue }
  37. "*password:" { send "${passwd}\r" }
  38. }
  39. # 进入当前项目的目录
  40. expect "*]#"
  41. send "cd /www/wwwroot/${file_path}\r"
  42. # 删除 static 目录
  43. expect "*]#"
  44. send "rm -rf static\r"
  45. # 解压上传的文件压缩包
  46. expect "*]#"
  47. send "unzip -o ${file_name}\r"
  48. # 退出
  49. send "exit\r"
  50. expect eof
  51. EOF
  52. echo "编译打包后自动部署到服务器上完成"
  53. echo "服务器地址:${demo_url}"
  54. }
  55. # 删除 plugins 等目录
  56. function delPublic() {
  57. echo "准备移除 plugins 等目录"
  58. #服务器上的相关操作
  59. /usr/bin/expect << EOF
  60. set time 30
  61. spawn ssh root@39.108.216.210
  62. expect {
  63. "*yes/no" { send "yes\r"; exp_continue }
  64. "*password:" { send "${passwd}\r" }
  65. }
  66. # 进入当前项目的目录
  67. expect "*]#"
  68. send "cd /www/wwwroot/${file_path}\r"
  69. # 删除 plugins 目录
  70. expect "*]#"
  71. send "rm -rf plugins\r"
  72. # 退出
  73. send "exit\r"
  74. expect eof
  75. EOF
  76. echo "plugins 等目录移除完成"
  77. }
  78. # 上传到测试服务器
  79. if [ $1 == "all" ]; then
  80. delPublic
  81. fi
  82. uploadServer