高级计划前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

70 lines
2.1 KiB

# /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