一段部署shell

一段部署shell

#!/usr/bin/env bash

# 目標服務器IP
HOST=$1
# 目標服務器端口
PORT=225
# 部署目錄
DEPLOY_DIR=$2
# 環境
ENV=$3
# 備份目錄
BAK_DIR="/deploy_bak/"
BAK_FILE="${BAK_DIR}api_"$(date +%Y%m%d%H%M%S)".tar.gz"
RUNTIME_DIR="${DEPLOY_DIR}/runtime"


echo "---部署開始---"

echo "---備份---"
# 僅備份config目錄
ssh -p ${PORT} root@${HOST} "mkdir -p ${BAK_DIR} && cd ${DEPLOY_DIR} && tar -cvzf ${BAK_FILE} config"

echo "---同步文件---"
ssh -p ${PORT} root@${HOST} "mkdir -p ${DEPLOY_DIR}"
rsync -raz --progress -e "ssh -p ${PORT}" src/* root@${HOST}:${DEPLOY_DIR}
#scp -r -P ${PORT} src/* root@${HOST}:${DEPLOY_DIR}

echo "---更新依賴---"
ssh -p ${PORT} root@${HOST} "cd ${DEPLOY_DIR} && /usr/local/php/bin/php /plattxu2/composer.phar install"

if [ "$ENV" != "" ]; then
    echo "---創建配置---"
    ssh -p ${PORT} root@${HOST} "cd ${DEPLOY_DIR} && rm -rf config && cp -r config.${ENV} config"
else
    echo "---未創建配置---"
fi

echo "---配置文件權限---"
ssh -p ${PORT} root@${HOST} "chown -R root:root ${DEPLOY_DIR} && chmod -R 755 ${DEPLOY_DIR}"
ssh -p ${PORT} root@${HOST} "mkdir -p ${RUNTIME_DIR} && chmod -R 777 ${RUNTIME_DIR}"

echo "---部署結束---"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章