|
|
- # /bin/zsh
-
- # 工程目录设置
- PROJECT_DIR=$(cd $(dirname $0); pwd)
- echo "\033[35m 当前工程目录为${PROJECT_DIR} \033[0m"
- DIST_DIT="${PROJECT_DIR}/dist/"
- echo "\033[35m 当前编译目录为${DIST_DIT} \033[0m"
- CURRENT_BRANCH=""
- # 压缩文件名设置
- CUR_DATATIME="`date +%Y-%m-%d_%H-%M`"
- ZIP_NAME="${CUR_DATATIME}.zip"
-
- # 服务器设置
- SSH_HOST="101.201.121.115"
- SSH_USER="administrator"
- SSH_PASSWORD="Leit2021@@"
- # 部署目录
- REMOTE_DIR="C:/frontendApp/mds/dist/"
- # 获得当前分支
- CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
- echo "\033[32m 当前分支为 ${CURRENT_BRANCH} \033[0m"
- # 切换分支到develop上,并拉取最新代码
- echo "\033[32m 切换分支到develop \033[0m"
- (git checkout develop) >/dev/null 2>&1
- echo "\033[32m 拉取develop最新数据 \033[0m"
- (git pull) >/dev/null 2>&1
- echo "\033[32m 拉取完成 \033[0m"
- # 开始本地打包并亚瑟
- echo "\033[32m 开始部署文件,现在进行打包 \033[0m"
- cd $PROJECT_DIR
- (yarn build:dev) >/dev/null 2>&1
- echo "\033[32m 打包完成 \033[0m"
- echo "\033[32m 开始压缩文件 \033[0m"
- cd $DIST_DIT
- zip -q -r $ZIP_NAME ./
- echo "\033[32m 压缩完成,文件名 ${ZIP_NAME} \033[0m"
-
- cp ${DIST_DIT}${ZIP_NAME} "/Users/denny/Downloads/${ZIP_NAME}"
-
- echo "\033[32m 开始传输文件 \033[0m"
- # 远程传送文件
- (expect -c "
- spawn scp $ZIP_NAME "${SSH_USER}@${SSH_HOST}:${REMOTE_DIR}"
- expect \"password:\"
- send \"${SSH_PASSWORD}\r\"
- expect eof
- ") >/dev/null 2>&1
- echo "\033[32m 传送完成,传送到服务器目录:${REMOTE_DIR}${ZIP_NAME} \033[0m"
- # 远程解压及部署
- echo "\033[32m 开始部署 \033[0m"
- (expect -c "
- spawn ssh -t "${SSH_USER}@${SSH_HOST}"
- set timeout 3
- expect \"password:\"
- send \"${SSH_PASSWORD}\r\"
- expect \"\$\"
- send \"cd ${REMOTE_DIR}\r\"
- expect \"\$\"
- send \"rmdir /s /q static && del index.html favicon.ico\r\"
- expect \"\$\"
- send \"unzip ${ZIP_NAME}\r\"
- expect \"\$\"
- send \"del ${ZIP_NAME}\r\"
- send \"exit\r\"
- expect eof
- ") >/dev/null 2>&1
- echo "\033[32m 部署完成 \033[0m"
- # 切回分支
- echo "\033[32m 切换回到${CURRENT_BRANCH} \033[0m"
- (git checkout $CURRENT_BRANCH) >/dev/null 2>&1
|