# 金丝雀/开发/测试部署策略 ## 环境命名 根据新的命名约定,三个环境重新命名为: - **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. 日常开发流程 ```bash # 在 canary 环境开发新功能 git checkout develop git pull canary develop # 开发完成后 git add . git commit -m "feat: 新功能描述" git push canary develop ``` ### 2. 集成测试流程 ```bash # 将功能从 canary 推送到 dev 环境 git checkout dev git pull dev main git merge develop git push dev dev:main ``` ### 3. 预发布流程 ```bash # 将功能从 dev 推送到 beta 环境 git checkout main git pull beta main git merge dev git push beta main ``` ## 快速命令 ### 发布新版本 ```bash # 金丝雀环境发布 ./scripts/quick-release.sh 1.2.3 canary # 开发环境发布 ./scripts/quick-release.sh 1.2.3 dev # 测试环境发布 ./scripts/quick-release.sh 1.2.3 beta ``` ### 回滚操作 ```bash # 回滚金丝雀环境 ./scripts/rollback.sh canary 1.2.2 # 回滚开发环境 ./scripts/rollback.sh dev 1.2.2 # 回滚测试环境 ./scripts/rollback.sh beta 1.2.2 ``` ### 状态检查 ```bash ./scripts/check-status.sh ``` ## 分支策略 - **develop**: 金丝雀环境主分支 - **dev**: 开发环境主分支 - **main**: 测试环境主分支 ## 标签命名 - 金丝雀: `v1.2.3-canary` - 开发: `v1.2.3-dev` - 测试: `v1.2.3-beta` ## 优势 1. **清晰的命名**: canary/dev/beta 更符合行业标准 2. **渐进发布**: 从金丝雀到测试的渐进式验证 3. **快速回滚**: 每个环境都可以独立回滚 4. **隔离性好**: 不同环境完全隔离,减少干扰