CI/CD 配置
GitHub Actions
项目已配置 GitHub Actions,push 到 main 分支后会自动部署到 Cloudflare。
配置步骤
1. 配置 GitHub Secrets
在 GitHub 仓库 Settings → Secrets and variables → Actions 中添加:
部署相关(必需):
CLOUDFLARE_API_TOKEN- Cloudflare API Token(需要Account:Cloudflare Workers:Edit权限)CLOUDFLARE_ACCOUNT_ID- Cloudflare Account ID(可在 Dashboard 右侧找到)
构建时环境变量(必需):
VITE_API_URL- 后端 API 地址(完整 URL,如:https://api.example.com)VITE_AUTH_PORTAL_URL- 认证门户地址(完整 URL,如:https://auth.example.com,web 应用需要)
获取 API Token:
- 访问 Cloudflare Dashboard
- 创建 Token,权限选择:
Account:Cloudflare Workers:EditAccount:Cloudflare Pages:EditZone:Zone:Read(如果使用自定义域名)
2. 创建 Cloudflare Pages 项目(首次部署前)
首次部署前需要先创建 Cloudflare Pages 项目(在 Dashboard 或使用 wrangler pages project create)。
3. 配置 Cloudflare Workers Secrets
使用 wrangler secret put 配置后端运行时环境变量:
bash
cd apps/server
# 必需
wrangler secret put JWT_SECRET # JWT 密钥(至少 32 字符)
wrangler secret put ACCELERATE_URL # Prisma Accelerate URL
wrangler secret put ALLOWED_DOMAIN # 允许的域名(如:exuils.com)
# 可选
wrangler secret put CORS_ORIGIN # CORS 允许的源
wrangler secret put JWT_EXPIRES_IN # JWT 过期时间(默认:7d)环境变量说明:
ALLOWED_DOMAIN:允许的域名,会允许该域名及其所有子域名(如:exuils.com允许*.exuils.com)CORS_ORIGIN:精确匹配的 CORS 源(可选,如果设置了ALLOWED_DOMAIN可省略)
4. Push 代码触发部署
bash
git push origin main工作流说明
智能路径触发 ⭐
CI/CD 配置了路径触发功能,只有相关应用变更时才会部署:
- 只修改
apps/server/**→ 只部署后端 - 只修改
apps/web/**→ 只部署前端 - 只修改
apps/auth-portal/**→ 只部署认证门户 - 只修改
apps/docs/**→ 只部署文档站点 - 修改
packages/**→ 部署所有依赖的应用(server、web、auth-portal)
这样可以:
- ✅ 节省 CI/CD 时间
- ✅ 减少不必要的部署
- ✅ 独立部署各个应用
部署流程
- 检测变更 → 分析哪些应用需要部署
- 构建依赖 → 构建共享的 packages
- 构建应用 → 只构建变更的应用
- 部署 → 只部署变更的应用
手动触发
如果需要强制部署所有应用,可以在 GitHub Actions 页面:
- 进入
Actions标签页 - 选择
Deploy to Cloudflareworkflow - 点击
Run workflow
查看部署状态
在 GitHub Actions 标签页中查看部署状态和日志。