🎯 CI/CD 自动化系统总结
📋 系统概述
MBE Monorepo 现已配置完整的 CI/CD 自动化流程,实现从开发到生产的全自动化部署,支持多环境、多区域、多语言和CDN加速。
✨ 核心特性
✅ 全自动化流程
- 开发:代码提交自动触发CI检查
- 测试:自动化单元测试、集成测试、E2E测试
- 部署:自动部署到开发、测试、生产环境
- 运维:自动监控、告警、回滚
✅ 多环境支持
- 开发环境 (
dev.hi-maker.com): 日常开发测试 - 测试环境 (
staging.hi-maker.com): 发布前测试 - 生产环境 (
mbe.hi-maker.com): 正式生产
✅ 多区域部署
- 国内部署: 使用国内CDN(阿里云/腾讯云)
- 国外部署: 使用Cloudflare CDN
- 同时部署: 支持一键部署到两个区域
✅ 多语言支持
- 支持9种语言:中文、英语、日语、韩语、法语、德语、西班牙语、俄语、阿拉伯语
- 自动构建多语言版本
- 按需部署特定语言版本
✅ CDN加速
- 国内CDN: 阿里云/腾讯云CDN
- 国外CDN: Cloudflare CDN
- 自动配置缓存规则
- 自动清除缓存
✅ 监控和告警
- 自动健康检查
- Prometheus指标监控
- Slack/Discord告警
- 自动回滚机制
🏗️ 系统架构
┌─────────────────────────────────────────────────────────┐
│ Git 代码仓库 │
└────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ CI Pipeline (GitHub Actions) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Validate │→ │ Test │→ │ Build │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└────────────────────┬────────────────────────────────────┘
│
┌───────────┴───────────┐
│ │
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ 开发环境部署 │ │ 测试环境部署 │
│ dev.hi-maker.com│ │staging.hi-maker.com│
└──────────────────┘ └────────┬──────────┘
│
┌────────────┴────────────┐
│ │
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ 生产环境(国内) │ │ 生产环境(国外) │
│ mbe.hi-maker.com │ │mbe-global.hi-maker.com│
│ + 国内CDN │ │ + Cloudflare CDN│
└──────────────────┘ └──────────────────┘
│ │
└────────────┬────────────┘
│
▼
┌──────────────────┐
│ 监控和告警 │
│ Prometheus/Grafana│
└──────────────────┘
📁 文件结构
mbe-monorepo/
├── .github/
│ └── workflows/
│ ├── complete-cicd.yml # 完整CI/CD工作流
│ ├── monitor.yml # 监控工作流
│ └── ci.yml # 基础CI工作流
├── scripts/
│ ├── deploy-multi-region.sh # 多区域部署脚本
│ ├── configure-cdn.sh # CDN配置脚本
│ ├── build-i18n.sh # 多语言构建脚本
│ └── monitor-deployment.sh # 部署监控脚本
└── docs/
├── COMPLETE_CICD_GUIDE.md # 完整CI/CD指南
├── CICD_QUICK_REFERENCE.md # 快速参考
└── CICD_SYSTEM_SUMMARY.md # 系统总结(本文档)
🚀 快速开始
1. 配置GitHub Secrets
参考 快速参考指南
2. 触发部署
自动部署(推荐):
# 开发环境
git push origin develop
# 生产环境
git push origin master
手动部署:
- 访问 GitHub Actions
- 选择
Complete CI/CD Pipeline - 点击
Run workflow - 选择参数
3. 使用脚本
# 多区域部署
./scripts/deploy-multi-region.sh both production deploy
# CDN配置
./scripts/configure-cdn.sh cloudflare configure
# 多语言构建
./scripts/build-i18n.sh all production
# 监控部署
./scripts/monitor-deployment.sh production both
📊 工作流程
开发流程
1. 创建功能分支
git checkout -b feature/new-feature
2. 开发并提交
git commit -m "feat: 新功能"
git push origin feature/new-feature
3. 创建 Pull Request
→ 自动触发 CI 检查
4. 合并到 develop
→ 自动部署到开发环境
测试流程
1. 合并到 master
git push origin master
2. 自动部署到测试环境
→ staging.hi-maker.com
3. 团队测试
→ 验证功能
4. 通过后自动部署到生产
→ mbe.hi-maker.com (国内)
→ mbe-global.hi-maker.com (国外)
部署流程
开发环境 (develop分支)
↓ [自动]
测试环境 (master分支)
↓ [自动]
生产环境 - 国内 (CN)
↓ [自动]
生产环境 - 国外 (Global)
↓ [自动]
监控和告警
🔧 配置说明
环境变量
所有环境变量通过 GitHub Secrets 配置,包括:
- 服务器连接信息(SSH密钥、主机、用户)
- Cloudflare配置(API Token、Zone ID、Tunnel Token)
- 通知配置(Slack Webhook、Discord Webhook)
服务器要求
- Docker >= 20.10
- Docker Compose >= 2.0
- Git
- SSH访问权限
Cloudflare配置
- 创建3个Tunnel:dev、staging、prod
- 配置DNS记录
- 配置CDN规则
📈 监控指标
健康检查
- 每5分钟自动检查
- 检查API健康端点
- 失败时发送告警
性能指标
- API响应时间
- 错误率
- 资源使用率(CPU、内存、磁盘)
告警规则
- 服务不可用 → 立即告警
- 响应时间 > 1s → 警告
- 错误率 > 1% → 警告
- CPU使用率 > 80% → 警告
🆘 故障处理
自动回滚
当健康检查失败时,系统可以自动回滚到上一个版本。
手动回滚
./scripts/deploy-multi-region.sh both production rollback
故障排查
- 查看 GitHub Actions 日志
- 检查服务器日志:
docker logs mbe-api - 检查 Cloudflare Tunnel:
docker logs mbe-cloudflared - 检查健康状态:
curl https://mbe.hi-maker.com/api/health
📚 相关文档
- 完整CI/CD指南 - 详细配置和使用说明
- 快速参考指南 - 快速开始和常用命令
- 多环境部署指南 - Cloudflare多环境配置
- 监控配置 - Prometheus和Grafana配置
- 网络问题排查 - 网络连接问题解决
🎯 最佳实践
代码提交前运行本地测试
pre-commit run --all-files pytest使用有意义的Commit消息
feat(api): 添加新功能 fix(users): 修复用户注册bug小步提交,频繁部署
- 每次提交都应该可以部署
- 避免大功能一次性提交
监控生产环境
- 定期查看监控面板
- 及时响应告警
定期备份
- 数据库备份
- 配置文件备份
🔄 持续改进
系统将持续改进,包括:
- 更细粒度的监控指标
- 更智能的自动回滚策略
- 更多的告警渠道
- 性能优化建议
- 成本优化建议
📞 支持
如有问题,请:
- 查看相关文档
- 检查GitHub Issues
- 联系DevOps团队
最后更新: 2026-02-08 版本: 1.0.0