72 lines
1.8 KiB
Bash
Executable File
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"
|