build.sh 1.5 KB

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