Commit 48c24116d689b087723cb525790457c1f376dc4e

Authored by 刘鹏伟
2 parents a2d544b6 e2c0a388

Merge branch 'test'

Showing 1 changed file with 43 additions and 0 deletions
tools/publish_over_ssh.sh 0 → 100644
  1 +#!/usr/bin/env bash
  2 +# 发布环境配置
  3 +
  4 +PROJECT_DIR="$WORKSPACE/" # 发布工程目录
  5 +PACKAGE_NAME=`basename $0 sh`"tar.gz" # 打包名称
  6 +
  7 +HOST=$1 # 服务器IP
  8 +DEPLOY_DIR=$2 # 部署生产目录
  9 +TMP_DIR=${DEPLOY_DIR}"_tmp_dir" # 部署临时目录
  10 +
  11 +
  12 +echo ">>>>> 开始发布"
  13 +
  14 +echo "===> 1.打包项目party目录下代码到: ${PACKAGE_NAME} "
  15 +tar -czf ${PACKAGE_NAME} .
  16 +echo "<=== 1.成功"
  17 +
  18 +echo "===> 2.在远端创建临时目录:${TMP_DIR} "
  19 +ssh -p 22 root@${HOST} "mkdir -p ${TMP_DIR} && cd ${TMP_DIR} && pwd"
  20 +echo "<=== 2.成功"
  21 +
  22 +echo "3.从发布目录中将打包文件:${PACKAGE_NAME} 拷贝到 ${HOST} 下的临时目录:${TMP_DIR} 中"
  23 +scp -P 22 -r ${PACKAGE_NAME} root@${HOST}:${TMP_DIR}
  24 +echo "<=== 3.成功"
  25 +
  26 +echo "4.解压项目源码: ${PACKAGE_NAME}"
  27 +ssh -p 22 root@${HOST} "cd ${TMP_DIR} && tar -zxf ${PACKAGE_NAME}"
  28 +echo "<=== 4.成功"
  29 +
  30 +echo "5.复制项目源码: ${TMP_DIR}/ "
  31 +ssh -p 22 root@${HOST} "cd ${TMP_DIR} && cp -rf . ${DEPLOY_DIR}"
  32 +echo "<=== 5.成功"
  33 +
  34 +echo "6.清除临时目录:${TMP_DIR}"
  35 +ssh -p 22 root@${HOST} "rm -rf ${TMP_DIR}"
  36 +echo "<=== 6.成功"
  37 +
  38 +echo "7.递归修改项目根目录权限"
  39 +ssh -p 22 root@${HOST} "chown nginx:nginx ${DEPLOY_DIR} -R"
  40 +ssh -p 22 root@${HOST} "setfacl -R -d -m u:nginx:rwx ${DEPLOY_DIR}"
  41 +echo "<=== 8.成功"
  42 +
  43 +echo "<<<<< 发布结束"
... ...