CI/CD 快速参考指南
🚀 快速开始
1. 配置 GitHub Secrets
在 GitHub 仓库设置中添加以下 Secrets:
# 开发环境
DEV_HOST=dev-server.example.com
DEV_USER=deploy
DEV_SSH_KEY=<SSH私钥>
DEV_PATH=/opt/mbe-dev
# 测试环境
STAGING_HOST=staging-server.example.com
STAGING_USER=deploy
STAGING_SSH_KEY=<SSH私钥>
STAGING_PATH=/opt/mbe-staging
# 生产环境(国内)
CN_HOST=cn-server.example.com
CN_USER=deploy
CN_SSH_KEY=<SSH私钥>
CN_PATH=/opt/mbe-prod-cn
# 生产环境(国外)
GLOBAL_HOST=global-server.example.com
GLOBAL_USER=deploy
GLOBAL_SSH_KEY=<SSH私钥>
GLOBAL_PATH=/opt/mbe-prod-global
# Cloudflare
CLOUDFLARE_API_TOKEN=<API Token>
CLOUDFLARE_ZONE_ID=<Zone ID>
CLOUDFLARE_TUNNEL_TOKEN_DEV=<Dev Token>
CLOUDFLARE_TUNNEL_TOKEN_STAGING=<Staging Token>
CLOUDFLARE_TUNNEL_TOKEN_PROD=<Prod Token>
# 通知
SLACK_WEBHOOK=<Slack Webhook URL>
2. 触发部署
自动部署(推荐)
开发环境:
git push origin develop
# 自动部署到 dev.hi-maker.com
生产环境:
git push origin master
# 自动部署到 staging -> production
手动部署
- 访问 GitHub Actions
- 选择
Complete CI/CD Pipeline - 点击
Run workflow - 选择参数:
- Environment:
production - Region:
both - Language:
all - Deploy Type:
both
- Environment:
3. 使用脚本部署
多区域部署
# 部署到国内和国外
./scripts/deploy-multi-region.sh both production deploy
# 仅部署到国内
./scripts/deploy-multi-region.sh cn production deploy
# 查看状态
./scripts/deploy-multi-region.sh both production status
# 回滚
./scripts/deploy-multi-region.sh both production rollback
CDN配置
# 配置Cloudflare CDN
./scripts/configure-cdn.sh cloudflare configure
# 清除Cloudflare缓存
./scripts/configure-cdn.sh cloudflare purge
多语言构建
# 构建所有语言
./scripts/build-i18n.sh all production
# 构建单个语言
./scripts/build-i18n.sh zh-CN production
监控部署
# 监控所有环境
./scripts/monitor-deployment.sh production both
📋 工作流说明
开发流程
1. 创建功能分支
git checkout -b feature/new-feature
2. 开发并提交
git add .
git commit -m "feat: 新功能"
git push origin feature/new-feature
3. 创建 Pull Request
# 自动触发 CI 检查
4. 合并到 develop
# 自动部署到开发环境
测试流程
1. 合并到 master
git checkout master
git merge develop
git push origin master
2. 自动部署到测试环境
# staging.hi-maker.com
3. 团队测试
# 在测试环境验证功能
4. 通过后自动部署到生产
# mbe.hi-maker.com (国内)
# mbe-global.hi-maker.com (国外)
部署流程
开发环境 (develop分支)
↓
测试环境 (master分支)
↓
生产环境 - 国内 (CN)
↓
生产环境 - 国外 (Global)
↓
监控和告警
🔧 环境配置
开发环境
- 域名:
dev.hi-maker.com - 分支:
develop - 部署: 自动(Push到develop)
- 用途: 日常开发测试
测试环境
- 域名:
staging.hi-maker.com - 分支:
master - 部署: 自动(Push到master)
- 用途: 发布前测试
生产环境(国内)
- 域名:
mbe.hi-maker.com - 分支:
master - 部署: 测试通过后自动
- CDN: 阿里云/腾讯云CDN
生产环境(国外)
- 域名:
mbe-global.hi-maker.com - 分支:
master - 部署: 测试通过后自动
- CDN: Cloudflare CDN
🌍 多区域部署
国内部署
服务器要求:
- 国内云服务商(阿里云/腾讯云)
- 或使用 Cloudflare Tunnel 连接国内服务器
CDN配置:
- 使用国内CDN服务
- 配置HTTPS证书
- 配置缓存规则
国外部署
服务器要求:
- 国外云服务商(AWS/GCP/Azure)
- 或使用 Cloudflare Tunnel 连接国外服务器
CDN配置:
- 使用 Cloudflare CDN
- 全球节点加速
- 自动HTTPS
🌐 多语言支持
支持的语言
zh-CN: 简体中文en: 英语ja: 日语ko: 韩语fr: 法语de: 德语es: 西班牙语ru: 俄语ar: 阿拉伯语
构建多语言版本
# 构建所有语言
npm run build:i18n
# 构建单个语言
npm run build:i18n --locale=zh-CN
📊 监控和告警
监控指标
- 服务健康状态
- API 响应时间
- 错误率
- 资源使用率
告警规则
- 服务不可用 → 立即告警
- 响应时间 > 1s → 警告
- 错误率 > 1% → 警告
- CPU使用率 > 80% → 警告
告警渠道
- Slack
- 企业微信/钉钉
🆘 故障排查
部署失败
查看 GitHub Actions 日志
https://github.com/your-org/mbe-monorepo/actions检查服务器状态
ssh deploy@your-server.com docker ps docker logs mbe-api检查 Cloudflare Tunnel
docker logs mbe-cloudflared
服务不可用
健康检查
curl https://mbe.hi-maker.com/api/health查看日志
docker logs mbe-api --tail 100检查资源
docker stats
回滚
# 自动回滚(GitHub Actions)
# 或手动回滚
./scripts/deploy-multi-region.sh both production rollback