deploy_dev.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. # 部署到测试环境,前提是需要先连接公司的VPN
  3. function deploy(){
  4. # 检查7z命令是否可用
  5. if ! command -v 7z >/dev/null 2>&1; then
  6. echo "请先运行 npm install -g 7zip 安装7zip命令行工具!"
  7. exit 1
  8. fi
  9. local username=$username_param
  10. local ip_address=$ip_address_param
  11. local folder_name=$folder_name_param
  12. local server_path=$server_path_param
  13. local zip_filename=$zip_filename_param
  14. # 压缩打包后的文件
  15. 7z a $zip_filename ./dist/*
  16. if [ $? -eq 0 ]; then
  17. echo "压缩打包成功"
  18. else
  19. echo "压缩打包失败"
  20. return 1
  21. fi
  22. echo -e '友情提醒🟠: 请确认连接了上海徽黄公司的VPN📶(否则无法输入密码哦)'
  23. # 迁移压缩文件到服务器对应目录下
  24. (set -x;scp ./$zip_filename $username@$ip_address:$server_path)
  25. if [ $? -eq 0 ]; then
  26. echo "文件迁移成功"
  27. else
  28. echo "文件迁移失败"
  29. return 1
  30. fi
  31. # 本机删除上传后的压缩文件
  32. rm $zip_filename
  33. # 在服务器上解压缩文件
  34. (set -x;ssh $username@$ip_address "cd $server_path && unzip -o $zip_filename -d $folder_name && chmod -R 775 $folder_name && rm $zip_filename")
  35. if [ $? -eq 0 ]; then
  36. echo "解压缩成功"
  37. else
  38. echo "解压缩失败"
  39. return 1
  40. fi
  41. echo "恭喜:"$folder_name_param"发布圆满成功!🎉🚀"
  42. return 0
  43. }
  44. # 调用build函数,并传递配置项参数
  45. username_param="clear"
  46. ip_address_param="192.168.30.153" # 测试环境
  47. folder_name_param="selfMarketing"
  48. server_path_param="/home/clear/frontend/"
  49. zip_filename_param="build.zip"
  50. deploy
  51. ###################################################
  52. # 使用git-bash来运行npm run deploy:dev
  53. # 在Windows上使用npm install -g 7zip来安装7z命令
  54. # selfMarketing名字不可随意更改,否则覆盖服务器相关文件夹
  55. # 测试环境暂时没有备份机制
  56. ###################################################