deploy.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # if [ $# != 3 ] ; then
  2. # echo "usage: $0 app env host"
  3. # echo " e.g.: $0 yywy test root@59.110.65.177"
  4. # exit 1;
  5. # fi
  6. workdir=$(pwd)
  7. app=$1
  8. env=$2
  9. host=$3
  10. app="feuc"
  11. echo "运行服务器:
  12. 1) 测试[59.110.65.177]
  13. 2) 生产[47.93.11.204]"
  14. read -p "请选择运行环境对应的数字: " n
  15. case $n in
  16. 1)
  17. host="root@59.110.65.177"
  18. ;;
  19. 2)
  20. host="root@47.93.11.204"
  21. ;;
  22. *)
  23. echo "请选择正确的运行服务器"
  24. exit 1;
  25. ;;
  26. esac
  27. echo "运行环境:
  28. 1) dev
  29. 2) test
  30. 3) pre
  31. 4) prod"
  32. read -p "请输入运行环境对应的数字: " n
  33. case $n in
  34. 1)
  35. env="dev"
  36. ;;
  37. 2)
  38. env="test"
  39. ;;
  40. 3)
  41. env="pre"
  42. ;;
  43. 4)
  44. env="prod"
  45. ;;
  46. *)
  47. echo "请选择正确的运行环境"
  48. exit 1;
  49. ;;
  50. esac
  51. echo "\033[31m 开始部署 ${app}-${env} 到 ${host}\033[0m"
  52. ssh ${host} <<- EOF
  53. rm -rf /opt/${app}/temp/admin;
  54. mkdir -p /opt/${app}/temp/admin;
  55. EOF
  56. scp -r ${workdir}/dist/* ${host}:/opt/${app}/temp/admin
  57. ssh ${host} <<- EOF
  58. rm -rf /opt/${app}/${env}/admin;
  59. mkdir -p /opt/${app}/${env}/admin;
  60. cp -r /opt/${app}/temp/admin/* /opt/${app}/${env}/admin;
  61. EOF
  62. # nginx
  63. ssh ${host} <<- EOF
  64. mkdir -p /opt/nginx/ssl;
  65. EOF
  66. scp ${workdir}/ci/nginx/${env}.conf ${host}:/opt/nginx/${app}-${env}.conf
  67. ssh ${host} <<- EOF
  68. /usr/sbin/nginx -s reload;
  69. EOF
  70. echo "\033[32m 部署完成 \033[0m"