本地脚本 deploy_to_server.sh
# 发布react项目到线上服务器
## 前端构建
npm run build
if [ $? -ne 0 ]; then
echo "build failed" 1>&2
exit 1
fi
## 压缩打包
tar -czf build.tar.gz ./build
if [ $? -ne 0 ]; then
echo "tar create failed" 1>&2
exit 1
fi
## 传输到远程服务器
scp ./build.tar.gz root@calm-welcome:/root/upload/react-wordpress-website
## 远程执行更新脚本
ssh root@calm-welcome "/bin/bash -x /root/upload/react-wordpress-website/deploy.sh"
线上脚本 deploy.sh
cd /www/react-wordpress-website
## 清理目录
if [ -e "build" ]; then
rm -rf build
fi
## 解压
tar -xzf ./build.tar.gz
if [ $? -ne 0 ]; then
echo "tar extract failed" 1>&2
exit 1
fi
## 移除备份版本
if [ -e "old_release" ]; then
rm -rf old_release
fi
## 替换部署目录
mv ./release ./old_release
mv ./build ./release