Skip to content

Latest commit

 

History

History
244 lines (181 loc) · 4.72 KB

File metadata and controls

244 lines (181 loc) · 4.72 KB

🚀 Vercel 部署指南

📋 前提条件

  1. ✅ GitHub 仓库已创建并推送代码
  2. ✅ 拥有 Vercel 账号(免费)
  3. ✅ 项目已配置 vercel.json

🎯 一键部署到 Vercel

方法 1: 通过 Vercel Dashboard(推荐)

  1. 访问 Vercel

  2. 导入项目

    • 点击 "Add New..." → "Project"
    • 选择 "Import Git Repository"
    • 选择 zhengsuanfa/AI-Cyber-Sentinel
  3. 配置项目

    Framework Preset: Vite
    Build Command: npm run build
    Output Directory: build
    Install Command: npm install
    
  4. 设置环境变量

    • 点击 "Environment Variables"
    • 添加以下变量:
    SCAN_MODE=traditional
    
    • 如果使用 AI 模式,添加:
    DEEPSEEK_API_KEY=your-api-key-here
    
  5. 部署

    • 点击 "Deploy"
    • 等待部署完成(约 2-3 分钟)

方法 2: 通过 Vercel CLI

# 安装 Vercel CLI
npm install -g vercel

# 登录 Vercel
vercel login

# 部署到生产环境
vercel --prod

# 设置环境变量
vercel env add SCAN_MODE
# 输入: traditional

vercel env add DEEPSEEK_API_KEY
# 输入: your-api-key-here(可选,仅 AI 模式需要)

🌐 部署后访问

部署成功后,Vercel 会提供:

  • 生产地址: https://your-project.vercel.app
  • 预览地址: 每次 git push 都会创建预览链接

⚙️ 自动部署配置

启用自动部署

Vercel 默认会监听 GitHub 仓库的变更:

  • main 分支推送 → 自动部署到生产环境
  • ✅ 其他分支推送 → 自动创建预览环境
  • ✅ Pull Request → 自动创建预览链接

🔧 Vercel 配置说明

vercel.json 配置

{
  "version": 2,
  "builds": [
    {
      "src": "package.json",
      "use": "@vercel/static-build",
      "config": { "distDir": "build" }
    },
    {
      "src": "backend/src/server.js",
      "use": "@vercel/node"
    }
  ],
  "routes": [
    {
      "src": "/api/(.*)",
      "dest": "backend/src/server.js"
    },
    {
      "src": "/(.*)",
      "dest": "/$1"
    }
  ]
}

关键配置说明

配置项 说明
builds 定义构建步骤:前端静态构建 + 后端 Node.js
routes 路由规则:/api/* → 后端,其他 → 前端
distDir 构建输出目录为 build

📊 功能支持

✅ 支持的功能

  • ✅ 前端完整功能
  • ✅ 代码文件上传扫描
  • ✅ 项目文件夹扫描
  • ✅ AST 安全分析
  • ✅ 实时分析日志
  • ✅ AI 智能分析(配置 API Key 后)

⚠️ Vercel 限制

  • ⚠️ Serverless Function 执行时间限制:10 秒(免费版)
  • ⚠️ 文件上传大小限制:4.5MB(Body 限制)
  • ⚠️ 临时文件存储在 /tmp,函数执行后自动清除

🐛 常见问题

1. 文件上传失败

原因: Vercel 有 Body 大小限制(4.5MB) 解决:

  • 压缩文件后上传
  • 或使用其他云服务(如 AWS S3)存储大文件

2. 扫描超时

原因: Serverless Function 执行时间限制 解决:

  • 升级到 Vercel Pro(60 秒限制)
  • 或将后端部署到其他平台(Railway、Render)

3. API 路由 404

原因: 路由配置问题 解决: 检查 vercel.json 中的 routes 配置

4. 环境变量未生效

原因: 环境变量未正确设置 解决: 在 Vercel Dashboard 中重新设置并重新部署


🔄 更新部署

自动更新(推荐)

git add .
git commit -m "更新功能"
git push origin main

Vercel 会自动检测并重新部署。

手动更新

vercel --prod

📈 监控和日志

查看部署日志

  1. 访问 Vercel Dashboard
  2. 选择项目
  3. 点击 "Deployments"
  4. 查看构建日志和运行日志

查看运行日志

  • 点击 "Functions" → 选择函数 → 查看实时日志

🎨 自定义域名

添加自定义域名

  1. 在 Vercel Dashboard 中选择项目
  2. 点击 "Settings" → "Domains"
  3. 添加你的域名
  4. 按照提示配置 DNS

🔐 安全建议

  1. 保护 API Key

    • 不要在代码中硬编码 API Key
    • 使用 Vercel 环境变量
  2. 限制上传大小

    • 前端添加文件大小验证
    • 后端配置 multer 限制
  3. 速率限制

    • 考虑添加 API 速率限制
    • 防止滥用

📚 相关链接


🆘 获取帮助

遇到问题?

  1. 查看 Vercel 部署日志
  2. 查看项目 Issues: https://github.com/zhengsuanfa/AI-Cyber-Sentinel/issues
  3. 参考 Vercel 文档

祝部署顺利! 🚀