196 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			196 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| # 六壬神鉴渐进发布流程图
 | |
| 
 | |
| ## 🎯 发布流程概览
 | |
| 
 | |
| ```
 | |
| ┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐    ┌─────────────────┐
 | |
| │   Development   │    │     Staging      │    │     Canary      │    │   Production    │
 | |
| │   (Gitea)       │───▶│   (Bitbucket)    │───▶│   (GitHub 10%)   │───▶│   (GitHub 100%) │
 | |
| │   develop分支   │    │   staging分支    │    │   main分支      │    │   main分支      │
 | |
| └─────────────────┘    └──────────────────┘    └─────────────────┘    └─────────────────┘
 | |
|         │                       │                       │                       │
 | |
|         │                       │                       │                       │
 | |
|         ▼                       ▼                       ▼                       ▼
 | |
| ┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐    ┌─────────────────┐
 | |
| │   功能开发       │    │   集成测试       │    │   灰度验证       │    │   全量发布       │
 | |
| │   单元测试       │    │   性能测试       │    │   监控验证       │    │   持续监控       │
 | |
| │   代码审查       │    │   安全扫描       │    │   用户反馈       │    │   性能优化       │
 | |
| └─────────────────┘    └──────────────────┘    └─────────────────┘    └─────────────────┘
 | |
| ```
 | |
| 
 | |
| ## 🚀 快速操作指南
 | |
| 
 | |
| ### 1. 日常开发流程
 | |
| 
 | |
| #### 开始新功能开发
 | |
| ```bash
 | |
| # 从 develop 分支创建功能分支
 | |
| git checkout develop
 | |
| git pull origin develop
 | |
| git checkout -b feature/new-feature
 | |
| 
 | |
| # 开发完成后
 | |
| git add .
 | |
| git commit -m "feat: 添加新功能"
 | |
| git push origin feature/new-feature
 | |
| 
 | |
| # 创建 PR 到 develop 分支
 | |
| # 在 Gitea 上创建 Pull Request
 | |
| ```
 | |
| 
 | |
| #### 推送到开发环境
 | |
| ```bash
 | |
| # 一键推送到 Gitea 开发环境
 | |
| git checkout develop
 | |
| git pull origin develop
 | |
| git merge feature/new-feature
 | |
| git push gitea develop
 | |
| ```
 | |
| 
 | |
| ### 2. 预发布流程
 | |
| 
 | |
| #### 准备 staging 发布
 | |
| ```bash
 | |
| # 创建发布分支
 | |
| git checkout staging
 | |
| git merge develop
 | |
| git push staging staging:main
 | |
| 
 | |
| # 或使用快捷命令
 | |
| git deploy-staging
 | |
| ```
 | |
| 
 | |
| #### 验证 staging 环境
 | |
| ```bash
 | |
| # 检查 staging 状态
 | |
| ./scripts/check-status.sh
 | |
| ```
 | |
| 
 | |
| ### 3. 灰度发布流程
 | |
| 
 | |
| #### 启动灰度发布
 | |
| ```bash
 | |
| # 创建灰度版本
 | |
| git checkout main
 | |
| git merge staging
 | |
| git tag v1.2.0-canary
 | |
| git push origin main --tags
 | |
| ```
 | |
| 
 | |
| #### 监控灰度状态
 | |
| ```bash
 | |
| # 检查发布状态
 | |
| curl -s https://api.github.com/repos/jingminzhang/taigongxinyi/releases/latest
 | |
| ```
 | |
| 
 | |
| ### 4. 全量发布流程
 | |
| 
 | |
| #### 正式版本发布
 | |
| ```bash
 | |
| # 使用快速发布脚本
 | |
| ./scripts/quick-release.sh 1.2.0 prod
 | |
| 
 | |
| # 或手动操作
 | |
| git checkout main
 | |
| git tag v1.2.0
 | |
| git push origin main --tags
 | |
| git deploy-prod
 | |
| ```
 | |
| 
 | |
| ## 📊 发布检查清单
 | |
| 
 | |
| ### 开发阶段检查
 | |
| - [ ] 代码通过单元测试
 | |
| - [ ] 功能测试完成
 | |
| - [ ] 代码审查通过
 | |
| - [ ] 文档已更新
 | |
| 
 | |
| ### Staging 阶段检查
 | |
| - [ ] 集成测试通过
 | |
| - [ ] 性能测试完成
 | |
| - [ ] 安全扫描通过
 | |
| - [ ] 用户验收测试完成
 | |
| 
 | |
| ### 灰度发布检查
 | |
| - [ ] 监控指标正常
 | |
| - [ ] 错误率 < 0.1%
 | |
| - [ ] 用户反馈良好
 | |
| - [ ] 业务指标稳定
 | |
| 
 | |
| ### 全量发布检查
 | |
| - [ ] 灰度验证通过
 | |
| - [ ] 回滚方案就绪
 | |
| - [ ] 监控告警配置
 | |
| - [ ] 紧急联系清单
 | |
| 
 | |
| ## 🔄 回滚操作
 | |
| 
 | |
| ### 紧急回滚
 | |
| ```bash
 | |
| # 快速回滚到指定版本
 | |
| ./scripts/rollback.sh prod 1.1.9
 | |
| 
 | |
| # 或手动回滚
 | |
| git checkout v1.1.9
 | |
| git tag v1.2.0-rollback
 | |
| git push origin main --force
 | |
| ```
 | |
| 
 | |
| ### 回滚验证
 | |
| ```bash
 | |
| # 检查回滚状态
 | |
| ./scripts/check-status.sh
 | |
| ```
 | |
| 
 | |
| ## 📈 监控面板
 | |
| 
 | |
| ### 关键指标监控
 | |
| - **系统性能**: CPU、内存、磁盘使用率
 | |
| - **应用性能**: 响应时间、吞吐量、错误率
 | |
| - **业务指标**: 用户活跃度、功能使用率
 | |
| 
 | |
| ### 告警规则
 | |
| - 错误率 > 1% → 立即告警
 | |
| - 响应时间 > 1s → 立即告警
 | |
| - 服务不可用 → 立即告警
 | |
| 
 | |
| ## 🛠️ 工具命令速查
 | |
| 
 | |
| | 操作 | 命令 | 说明 |
 | |
| |------|------|------|
 | |
| | 查看状态 | `./scripts/check-status.sh` | 检查所有环境状态 |
 | |
| | 快速发布 | `./scripts/quick-release.sh 版本号 环境` | 一键发布到指定环境 |
 | |
| | 紧急回滚 | `./scripts/rollback.sh 环境 版本号` | 快速回滚到指定版本 |
 | |
| | 推送到 staging | `git deploy-staging` | 推送到 Bitbucket staging |
 | |
| | 推送到 prod | `git deploy-prod` | 推送到 GitHub production |
 | |
| | 同步所有远程 | `git sync-all` | 同步所有远程仓库 |
 | |
| 
 | |
| ## 📞 紧急联系
 | |
| 
 | |
| | 角色 | 联系方式 | 职责 |
 | |
| |------|----------|------|
 | |
| | 技术负责人 | ben@capitaltrain.cn | 技术决策、紧急响应 |
 | |
| | 运维团队 | ops@capitaltrain.cn | 部署、监控、故障处理 |
 | |
| | 产品团队 | product@capitaltrain.cn | 业务决策、用户沟通 |
 | |
| 
 | |
| ## 🎓 最佳实践
 | |
| 
 | |
| ### 1. 分支管理
 | |
| - 功能分支从 `develop` 创建
 | |
| - 发布分支从 `staging` 创建
 | |
| - 热修复分支从 `main` 创建
 | |
| 
 | |
| ### 2. 版本命名
 | |
| - 主版本: 不兼容的重大更新
 | |
| - 次版本: 向后兼容的功能添加
 | |
| - 修订版本: bug修复和微小改进
 | |
| 
 | |
| ### 3. 发布频率
 | |
| - 紧急修复: 随时发布
 | |
| - 常规更新: 每2周一次
 | |
| - 大版本更新: 每季度一次
 | |
| 
 | |
| ### 4. 监控策略
 | |
| - 灰度期间: 24-48小时密切监控
 | |
| - 全量发布: 72小时持续监控
 | |
| - 日常运维: 实时告警监控 |