1.9 KiB
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
优势
- 清晰的命名: canary/dev/beta 更符合行业标准
- 渐进发布: 从金丝雀到测试的渐进式验证
- 快速回滚: 每个环境都可以独立回滚
- 隔离性好: 不同环境完全隔离,减少干扰