用途:把项目部署到 Vercel、Railway 或 Docker,按平台最佳实践执行。
平台选择:Next.js 前端用 Vercel(原生支持、边缘函数);Python 后端用 Railway(Nixpacks、健康检查);ML/GPU 负载用 RunPod(GPU、vLLM);本地开发用 Docker(环境一致)。
Vercel:用 vercel.json 配置 monorepo(framework、installCommand、buildCommand、outputDirectory)。环境变量可命令行添加,如 vercel env add VITE_SUPABASE_URL production,预览用 preview scope。SPA 路由在 vercel.json 加 rewrites 将 /(.*) 指向 /。部署命令:生产 vercel --prod,预览 vercel。
Railway:用 railway.json 指定 NIXPACKS 构建、startCommand、healthcheckPath、healthcheckTimeout、重启策略。敏感变量需在控制台 Variables 手动配置。后端须实现 /health 端点。
Docker:多阶段 Dockerfile(builder 阶段导出 requirements,运行阶段安装并 COPY src,CMD 启动);本地开发用 docker-compose.yml 挂载源码与 env_file。
部署前检查:测试通过、无硬编码密钥、环境变量写入 .env.example、CLAUDE.md 更新、本地构建成功。
排错:Vercel 用 vercel logs,常见缺环境变量、构建超时、模块缺失;Railway 看面板日志,常见健康检查超时、变量缺失、poetry.lock 问题;Docker 先本地 docker build -t test . 再 docker run -it test,检查系统依赖。
CI/CD:GitHub Actions 可用 amondnet/vercel-action,配合 VERCEL_TOKEN、ORG_ID、PROJECT_ID 密钥,vercel-args 传 --prod。
限制:资料未提供各平台收费、配额与具体价格信息;示例项目数量仅作参考。