部署架构
iFluxArt 多项目部署架构和配置
Hey,同学!想了解 iFluxArt 是怎么部署的吗?这一篇全面介绍部署架构~ 🚀
🤔 为什么需要部署?
代码写完只是「原料」,部署后才能让用户访问。
📦 项目结构
Monorepo → 多项目部署
text
iflux-art (代码库)
│
├── Web → your-web.vercel.app
├── Blog → your-blog.vercel.app
├── Docs → your-docs.vercel.app
├── Links → your-links.vercel.app
└── Admin → your-admin.vercel.app
每个子项目都是独立部署!
⚙️ 部署配置
1. Vercel 项目
每个 app 在 Vercel 创建独立项目:
| 项目 | 框架 | 输出目录 |
|---|---|---|
| web | Next.js | .next |
| blog | Next.js | .next |
| docs | Next.js | .next |
| links | Next.js | .next |
| admin | Next.js | .next |
2. 环境变量
每个项目有不同的环境变量:
| 变量 | 用途 |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | 共享 |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | 共享 |
SUPABASE_SERVICE_KEY | 仅后端/Admin |
R2_* | 仅 Admin/媒体 |
🔄 部署流程
1. 代码推送
bash
git add .
git commit -m "feat: update"
git push
2. 自动构建
Vercel 自动:
- 检测推送
- 安装依赖
- 运行构建
3. 自动部署
构建完成后自动部署到全球 CDN。
🌍 域名配置
独立域名
每个项目可以配置独立域名:
| 项目 | 域名 |
|---|---|
| Web | example.com |
| Blog | blog.example.com |
| Docs | docs.example.com |
| Links | links.example.com |
子域名配置
在 Vercel 中添加域名,按指引配置 DNS。
📊 CI/CD
自动流程
- Lint - 代码检查
- Typecheck - 类型检查
- Build - 构建
- Deploy - 部署
Pull Request
PR 会自动创建预览部署,方便 review。
💡 最佳实践
1. 环境隔离
- 开发 →
.env.local - 预览 → Vercel Preview 环境变量
- 生产 → Vercel Production 环境变量
2. 保持同步
确保所有项目使用相同版本的依赖。
3. 监控部署
在 Vercel Dashboard 监控:
- 构建时间
- 部署状态
- 函数调用
📖 下一步
🏗️ 好的部署架构让项目「稳如泰山」!