deploy.sh 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #! /bin/bash
  2. WEB_PATH=$PWD
  3. cd $WEB_PATH
  4. # 更新git代码
  5. if [[ "$1" == "git-pull" ]];then
  6. echo "拉取最新的代码..."
  7. git reset --hard origin/master
  8. git clean -f
  9. git pull origin master
  10. git pull
  11. echo -e "\033[32m代码拉取完成...\033[0m"
  12. fi
  13. # 拷贝公共文件
  14. if [[ "$1" == "copy" ]];then
  15. echo "拷贝ui-domain..."
  16. cp -a $WEB_PATH/ui-domain $WEB_PATH/manager-seller
  17. cp -a $WEB_PATH/ui-domain $WEB_PATH/manager-admin
  18. echo -e "\033[32m拷贝完成\033[0m"
  19. echo "拷贝ui-components..."
  20. cp -a $WEB_PATH/ui-components $WEB_PATH/manager-seller
  21. cp -a $WEB_PATH/ui-components $WEB_PATH/manager-admin
  22. echo -e "\033[32m拷贝完成\033[0m"
  23. echo "拷贝ui-utils..."
  24. cp -a $WEB_PATH/ui-utils $WEB_PATH/manager-seller
  25. cp -a $WEB_PATH/ui-utils $WEB_PATH/manager-admin
  26. echo -e "\033[32m拷贝完成\033[0m"
  27. fi
  28. # 部署nodejs、nginx、pm2
  29. if [[ "$1" == "base" ]];then
  30. # 移除yum lock
  31. rm -f /var/run/yum.pid
  32. # 关闭防火墙
  33. systemctl stop firewalld
  34. systemctl disable firewalld
  35. # 安装nodejs
  36. cd /usr/local/
  37. wget https://npm.taobao.org/mirrors/node/v8.16.2/node-v8.16.2-linux-x64.tar.gz
  38. tar -zxvf node-v8.16.2-linux-x64.tar.gz
  39. rm -rf node-v8.16.2-linux-x64.tar.gz
  40. mv node-v8.16.2-linux-x64 node
  41. echo 'export NODE_HOME=/usr/local/node
  42. export PATH=$NODE_HOME/bin:$PATH'>>/etc/profile
  43. source /etc/profile
  44. # node npm 链接
  45. sudo ln -s /usr/local/node/bin/node /usr/bin/node
  46. sudo ln -s /usr/local/node/bin/node /usr/lib/node
  47. sudo ln -s /usr/local/node/bin/npm /usr/bin/npm
  48. # 安装yarn
  49. npm install yarn -g --registry=https://registry.npm.taobao.org
  50. # 安装pm2
  51. npm install pm2 -g --registry=https://registry.npm.taobao.org
  52. # pm2 链接
  53. sudo ln -s /usr/local/node/bin/pm2 /usr/bin/pm2
  54. sudo ln -s /usr/local/node/bin/pm2 /usr/lib/pm2
  55. sudo ln -s /usr/local/node/bin/yarn /usr/bin/yarn
  56. sudo ln -s /usr/local/node/bin/yarn /usr/lib/yarn
  57. # nginx安装
  58. yum install -y gcc gcc-c++
  59. yum install -y pcre pcre-devel
  60. yum install -y zlib zlib-devel
  61. yum install -y openssl openssl-devel
  62. cd /usr/local
  63. wget https://nginx.org/download/nginx-1.14.0.tar.gz
  64. tar -zxvf nginx-1.14.0.tar.gz
  65. cd nginx-1.14.0
  66. ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
  67. make && make install
  68. cd ..
  69. rm -rf nginx-1.14.0.tar.gz
  70. rm -rf nginx-1.14.0
  71. fi
  72. if [[ ! -n "$1" || "$1" == "manager-admin" ]];then
  73. echo "开始部署后台管理(manager-admin)..."
  74. cd $WEB_PATH/manager-admin
  75. rm -rf node_modules
  76. echo "开始安装项目依赖..."
  77. sudo npm --registry https://registry.npm.taobao.org install
  78. echo "开始打包..."
  79. yarn run build:prod
  80. echo -e "\033[32m后台管理部署完成...\033[0m"
  81. fi
  82. if [[ ! -n "$1" || "$1" == "manager-seller" ]];then
  83. echo "开始部署商家中心(manager-seller)..."
  84. cd $WEB_PATH/manager-seller
  85. rm -rf node_modules
  86. echo "开始安装项目依赖..."
  87. yarn --registry=https://registry.npm.taobao.org
  88. echo "开始打包..."
  89. yarn run build:prod
  90. echo -e "\033[32m商家中心部署完成...\033[0m"
  91. fi