Files
chinese-family-tree-2/redeploy-with-cache-bust.sh
freedakgmail b25f4bea02 0.0.9.0
2025-11-24 16:07:24 +08:00

72 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# 重新部署并强制浏览器更新缓存
SERVER_IP="115.190.235.230"
SSH_PORT="22"
SERVER_USER="root"
REMOTE_DIR="/var/www/chinese-family-tree"
APP_PORT="8006"
echo "🔧 重新部署应用并强制浏览器更新缓存..."
echo "1. 构建最新代码..."
pnpm build
if [ $? -eq 0 ]; then
echo "✓ 构建成功"
else
echo "✗ 构建失败"
exit 1
fi
echo "2. 上传最新代码到服务器..."
rsync -avz --progress --delete \
--exclude 'node_modules' \
--exclude '.git' \
--exclude '.next/cache' \
--exclude '.env' \
--exclude '.env.local' \
--exclude '*.log' \
--exclude '*.md' \
--exclude 'test-*.sh' \
--exclude 'test-*.js' \
--exclude 'check-server.sh' \
--exclude 'deploy-manual.sh' \
--exclude 'setup-ssh-key.sh' \
--exclude '*.tar.gz' \
--exclude 'public/uploads/*' \
-e "ssh -p $SSH_PORT" \
./ $SERVER_USER@$SERVER_IP:$REMOTE_DIR/
if [ $? -eq 0 ]; then
echo "✓ 文件上传成功"
else
echo "✗ 文件上传失败"
exit 1
fi
echo "3. 重启服务器应用..."
ssh -p $SSH_PORT $SERVER_USER@$SERVER_IP << 'ENDSSH'
cd /var/www/chinese-family-tree
# 清理 Next.js 缓存
rm -rf .next/cache
# 重启应用
pm2 restart chinese-family-tree
echo "✓ 应用已重启"
ENDSSH
echo ""
echo "✅ 重新部署完成!"
echo ""
echo "📝 请在浏览器中执行以下操作以查看更新:"
echo " 1. 打开浏览器开发者工具 (F12)"
echo " 2. 右键点击刷新按钮,选择『清空缓存并硬性重新加载』"
echo " 3. 或者使用快捷键:"
echo " - Chrome/Edge: Ctrl+Shift+Delete (Windows) 或 Cmd+Shift+Delete (Mac)"
echo " - 选择『缓存的图片和文件』,点击清除"
echo ""
echo "🌐 访问地址: http://${SERVER_IP}:8006"