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 "<<<<< 发布结束" | ... | ... |