liurenchaxin/docs/development/CANARY_DEV_BETA_DEPLOYMENT.md

1.9 KiB

金丝雀/开发/测试部署策略

环境命名

根据新的命名约定,三个环境重新命名为:

  • canary (金丝雀环境): https://gitea.tailnet-68f9.ts.net/gitea/liurenchaxin.git
  • dev (开发环境): git@bitbucket.org:capitaltrain/liurenchaxin.git
  • beta (测试环境): https://github.com/jingminzhang/taigongxinyi.git

环境用途

  • canary (金丝雀): 最新功能测试,早期验证
  • dev (开发): 功能开发和集成测试
  • beta (测试): 预发布测试,用户验收

部署流程

1. 日常开发流程

# 在 canary 环境开发新功能
git checkout main
git pull canary main
# 开发完成后
git add .
git commit -m "feat: 新功能描述"
git push canary main

2. 集成测试流程

# 将功能从 canary 推送到 dev 环境
git checkout main
git pull dev main
git merge main
git push dev main

3. 预发布流程

# 将功能从 dev 推送到 beta 环境
git checkout main
git pull beta main
git merge main
git push beta main

快速命令

发布新版本

# 金丝雀环境发布
./scripts/quick-release.sh 1.2.3 canary

# 开发环境发布
./scripts/quick-release.sh 1.2.3 dev

# 测试环境发布
./scripts/quick-release.sh 1.2.3 beta

回滚操作

# 回滚金丝雀环境
./scripts/rollback.sh canary 1.2.2

# 回滚开发环境
./scripts/rollback.sh dev 1.2.2

# 回滚测试环境
./scripts/rollback.sh beta 1.2.2

状态检查

./scripts/check-status.sh

分支策略

  • main: 所有环境统一使用main分支

标签命名

  • 金丝雀: v1.2.3-canary
  • 开发: v1.2.3-dev
  • 测试: v1.2.3-beta

优势

  1. 清晰的命名: canary/dev/beta 更符合行业标准
  2. 渐进发布: 从金丝雀到测试的渐进式验证
  3. 快速回滚: 每个环境都可以独立回滚
  4. 隔离性好: 不同环境完全隔离,减少干扰