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

手动部署

  1. 访问 GitHub Actions
  2. 选择 Complete CI/CD Pipeline
  3. 点击 Run workflow
  4. 选择参数:
    • Environment: production
    • Region: both
    • Language: all
    • Deploy Type: both

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
  • Email
  • 企业微信/钉钉

🆘 故障排查

部署失败

  1. 查看 GitHub Actions 日志

    https://github.com/your-org/mbe-monorepo/actions
    
  2. 检查服务器状态

    ssh deploy@your-server.com
    docker ps
    docker logs mbe-api
    
  3. 检查 Cloudflare Tunnel

    docker logs mbe-cloudflared
    

服务不可用

  1. 健康检查

    curl https://mbe.hi-maker.com/api/health
    
  2. 查看日志

    docker logs mbe-api --tail 100
    
  3. 检查资源

    docker stats
    

回滚

# 自动回滚(GitHub Actions)
# 或手动回滚
./scripts/deploy-multi-region.sh both production rollback

📚 相关文档