Commit 48c24116d689b087723cb525790457c1f376dc4e
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 "<<<<< 发布结束" |