高级计划前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.1 KiB

3 years ago
3 years ago
  1. # /bin/zsh
  2. # 工程目录设置
  3. PROJECT_DIR=$(cd $(dirname $0); pwd)
  4. echo "\033[35m 当前工程目录为${PROJECT_DIR} \033[0m"
  5. DIST_DIT="${PROJECT_DIR}/dist/"
  6. echo "\033[35m 当前编译目录为${DIST_DIT} \033[0m"
  7. CURRENT_BRANCH=""
  8. # 压缩文件名设置
  9. CUR_DATATIME="`date +%Y-%m-%d_%H-%M`"
  10. ZIP_NAME="${CUR_DATATIME}.zip"
  11. # 服务器设置
  12. SSH_HOST="101.201.121.115"
  13. SSH_USER="administrator"
  14. SSH_PASSWORD="Leit2021@@"
  15. # 部署目录
  16. REMOTE_DIR="C:/frontendApp/mds/dist/"
  17. # 获得当前分支
  18. CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
  19. echo "\033[32m 当前分支为 ${CURRENT_BRANCH} \033[0m"
  20. # 切换分支到develop上,并拉取最新代码
  21. echo "\033[32m 切换分支到develop \033[0m"
  22. (git checkout develop) >/dev/null 2>&1
  23. echo "\033[32m 拉取develop最新数据 \033[0m"
  24. (git pull) >/dev/null 2>&1
  25. echo "\033[32m 拉取完成 \033[0m"
  26. # 开始本地打包并亚瑟
  27. echo "\033[32m 开始部署文件,现在进行打包 \033[0m"
  28. cd $PROJECT_DIR
  29. (yarn build:dev) >/dev/null 2>&1
  30. echo "\033[32m 打包完成 \033[0m"
  31. echo "\033[32m 开始压缩文件 \033[0m"
  32. cd $DIST_DIT
  33. zip -q -r $ZIP_NAME ./
  34. echo "\033[32m 压缩完成,文件名 ${ZIP_NAME} \033[0m"
  35. cp ${DIST_DIT}${ZIP_NAME} "/Users/denny/Downloads/${ZIP_NAME}"
  36. echo "\033[32m 开始传输文件 \033[0m"
  37. # 远程传送文件
  38. (expect -c "
  39. spawn scp $ZIP_NAME "${SSH_USER}@${SSH_HOST}:${REMOTE_DIR}"
  40. expect \"password:\"
  41. send \"${SSH_PASSWORD}\r\"
  42. expect eof
  43. ") >/dev/null 2>&1
  44. echo "\033[32m 传送完成,传送到服务器目录:${REMOTE_DIR}${ZIP_NAME} \033[0m"
  45. # 远程解压及部署
  46. echo "\033[32m 开始部署 \033[0m"
  47. (expect -c "
  48. spawn ssh -t "${SSH_USER}@${SSH_HOST}"
  49. set timeout 3
  50. expect \"password:\"
  51. send \"${SSH_PASSWORD}\r\"
  52. expect \"\$\"
  53. send \"cd ${REMOTE_DIR}\r\"
  54. expect \"\$\"
  55. send \"rmdir /s /q static && del index.html favicon.ico\r\"
  56. expect \"\$\"
  57. send \"unzip ${ZIP_NAME}\r\"
  58. expect \"\$\"
  59. send \"del ${ZIP_NAME}\r\"
  60. send \"exit\r\"
  61. expect eof
  62. ") >/dev/null 2>&1
  63. echo "\033[32m 部署完成 \033[0m"
  64. # 切回分支
  65. echo "\033[32m 切换回到${CURRENT_BRANCH} \033[0m"
  66. (git checkout $CURRENT_BRANCH) >/dev/null 2>&1