refactor: 完成静态网站转换,移除所有 CMS 和动态功能
- 删除数据库相关代码 (src/db/) - 删除 API 路由 (src/app/api/) - 删除认证相关代码 (src/lib/auth/, src/providers/) - 删除监控和安全中间件 (src/lib/security/, src/lib/monitoring/) - 删除 hooks (use-news, use-products, use-services) - 更新组件为静态数据源 - 添加 nginx 静态配置和部署脚本 - 添加 static-link 组件
This commit is contained in:
@@ -1,53 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 备份脚本
|
||||
# 用法: ./scripts/backup.sh
|
||||
|
||||
set -e
|
||||
|
||||
BACKUP_DIR="./backups"
|
||||
DATE=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_NAME="backup_$DATE"
|
||||
|
||||
# 创建备份目录
|
||||
mkdir -p "$BACKUP_DIR/$BACKUP_NAME"
|
||||
|
||||
echo "开始备份..."
|
||||
|
||||
# 备份数据库
|
||||
if [ -f "./data/prod.db" ]; then
|
||||
echo "备份数据库..."
|
||||
cp ./data/prod.db "$BACKUP_DIR/$BACKUP_NAME/database.db"
|
||||
else
|
||||
echo "警告: 数据库文件不存在"
|
||||
fi
|
||||
|
||||
# 备份上传文件
|
||||
if [ -d "./uploads" ]; then
|
||||
echo "备份上传文件..."
|
||||
cp -r ./uploads "$BACKUP_DIR/$BACKUP_NAME/uploads"
|
||||
else
|
||||
echo "警告: uploads目录不存在"
|
||||
fi
|
||||
|
||||
# 备份配置
|
||||
if [ -f ".env.production" ]; then
|
||||
echo "备份配置..."
|
||||
cp .env.production "$BACKUP_DIR/$BACKUP_NAME/.env.production"
|
||||
else
|
||||
echo "警告: .env.production文件不存在"
|
||||
fi
|
||||
|
||||
# 压缩备份
|
||||
echo "压缩备份..."
|
||||
tar -czf "$BACKUP_DIR/$BACKUP_NAME.tar.gz" -C "$BACKUP_DIR" "$BACKUP_NAME"
|
||||
|
||||
# 删除临时目录
|
||||
rm -rf "$BACKUP_DIR/$BACKUP_NAME"
|
||||
|
||||
# 保留最近7天的备份
|
||||
echo "清理旧备份..."
|
||||
find "$BACKUP_DIR" -name "backup_*.tar.gz" -mtime +7 -delete
|
||||
|
||||
echo "备份完成: $BACKUP_DIR/$BACKUP_NAME.tar.gz"
|
||||
echo "备份大小: $(du -h "$BACKUP_DIR/$BACKUP_NAME.tar.gz" | cut -f1)"
|
||||
@@ -4,26 +4,16 @@ set -e
|
||||
|
||||
echo "🚀 开始部署到生产环境..."
|
||||
|
||||
# 加载生产环境变量
|
||||
export NODE_ENV=production
|
||||
|
||||
# 检查是否已安装依赖
|
||||
if [ ! -d "node_modules" ]; then
|
||||
echo "📦 安装依赖..."
|
||||
npm ci --production=false
|
||||
fi
|
||||
|
||||
# 运行测试
|
||||
echo "🧪 运行测试..."
|
||||
cd e2e
|
||||
TEST_ENV=development npx playwright test --reporter=list
|
||||
cd ..
|
||||
|
||||
# 构建生产版本
|
||||
echo "🔨 构建生产版本..."
|
||||
echo "🔨 构建静态网站..."
|
||||
npm run build
|
||||
|
||||
# 备份当前版本(如果存在)
|
||||
if [ -d "dist_backup" ]; then
|
||||
rm -rf dist_backup
|
||||
fi
|
||||
@@ -32,20 +22,6 @@ if [ -d "dist" ]; then
|
||||
mv dist dist_backup
|
||||
fi
|
||||
|
||||
# 启动生产服务器
|
||||
echo "🌟 启动生产服务器..."
|
||||
npm start &
|
||||
|
||||
# 等待服务器启动
|
||||
echo "⏳ 等待服务器启动..."
|
||||
sleep 10
|
||||
|
||||
# 健康检查
|
||||
echo "🏥 健康检查..."
|
||||
curl -f http://localhost:3000/api/health || {
|
||||
echo "❌ 健康检查失败!"
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "✅ 部署成功!"
|
||||
echo "📊 访问 http://localhost:3000"
|
||||
echo "✅ 构建完成!"
|
||||
echo "📊 静态文件位于 dist/ 目录"
|
||||
echo "🌐 可部署到 Nginx、CDN 或任何静态托管服务"
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 恢复脚本
|
||||
# 用法: ./scripts/restore.sh <backup_file.tar.gz>
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "错误: 请指定备份文件"
|
||||
echo "用法: ./scripts/restore.sh <backup_file.tar.gz>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BACKUP_FILE="$1"
|
||||
|
||||
if [ ! -f "$BACKUP_FILE" ]; then
|
||||
echo "错误: 备份文件不存在: $BACKUP_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "警告: 此操作将覆盖当前数据!"
|
||||
read -p "确认继续? (yes/no): " confirm
|
||||
|
||||
if [ "$confirm" != "yes" ]; then
|
||||
echo "操作已取消"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 创建临时目录
|
||||
TEMP_DIR="./temp_restore_$(date +%s)"
|
||||
mkdir -p "$TEMP_DIR"
|
||||
|
||||
echo "解压备份..."
|
||||
tar -xzf "$BACKUP_FILE" -C "$TEMP_DIR"
|
||||
|
||||
# 获取备份目录名
|
||||
BACKUP_DIR_NAME=$(ls "$TEMP_DIR")
|
||||
BACKUP_PATH="$TEMP_DIR/$BACKUP_DIR_NAME"
|
||||
|
||||
# 恢复数据库
|
||||
if [ -f "$BACKUP_PATH/database.db" ]; then
|
||||
echo "恢复数据库..."
|
||||
cp "$BACKUP_PATH/database.db" ./data/prod.db
|
||||
else
|
||||
echo "警告: 备份中没有数据库文件"
|
||||
fi
|
||||
|
||||
# 恢复上传文件
|
||||
if [ -d "$BACKUP_PATH/uploads" ]; then
|
||||
echo "恢复上传文件..."
|
||||
rm -rf ./uploads/*
|
||||
cp -r "$BACKUP_PATH/uploads"/* ./uploads/ 2>/dev/null || true
|
||||
else
|
||||
echo "警告: 备份中没有uploads目录"
|
||||
fi
|
||||
|
||||
# 恢复配置
|
||||
if [ -f "$BACKUP_PATH/.env.production" ]; then
|
||||
echo "恢复配置..."
|
||||
cp "$BACKUP_PATH/.env.production" ./.env.production
|
||||
else
|
||||
echo "警告: 备份中没有配置文件"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -rf "$TEMP_DIR"
|
||||
|
||||
echo "恢复完成!"
|
||||
echo "请重启应用以使更改生效"
|
||||
Reference in New Issue
Block a user