100 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| # 金丝雀/开发/测试部署策略
 | |
| 
 | |
| ## 环境命名
 | |
| 
 | |
| 根据新的命名约定,三个环境重新命名为:
 | |
| 
 | |
| - **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 main
 | |
| git pull canary main
 | |
| # 开发完成后
 | |
| git add .
 | |
| git commit -m "feat: 新功能描述"
 | |
| git push canary main
 | |
| ```
 | |
| 
 | |
| ### 2. 集成测试流程
 | |
| 
 | |
| ```bash
 | |
| # 将功能从 canary 推送到 dev 环境
 | |
| git checkout main
 | |
| git pull dev main
 | |
| git merge main
 | |
| git push dev main
 | |
| ```
 | |
| 
 | |
| ### 3. 预发布流程
 | |
| 
 | |
| ```bash
 | |
| # 将功能从 dev 推送到 beta 环境
 | |
| git checkout main
 | |
| git pull beta main
 | |
| git merge main
 | |
| 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
 | |
| ```
 | |
| 
 | |
| ## 分支策略
 | |
| 
 | |
| - **main**: 所有环境统一使用main分支
 | |
| 
 | |
| ## 标签命名
 | |
| 
 | |
| - 金丝雀: `v1.2.3-canary`
 | |
| - 开发: `v1.2.3-dev`
 | |
| - 测试: `v1.2.3-beta`
 | |
| 
 | |
| ## 优势
 | |
| 
 | |
| 1. **清晰的命名**: canary/dev/beta 更符合行业标准
 | |
| 2. **渐进发布**: 从金丝雀到测试的渐进式验证
 | |
| 3. **快速回滚**: 每个环境都可以独立回滚
 | |
| 4. **隔离性好**: 不同环境完全隔离,减少干扰 |