发布编排 (Release Orchestration)
Harness 发布编排模块帮助大型组织协调复杂的跨团队、跨服务发布,确保软件交付的可控性和可见性。核心功能
发布协调
- 可视化编辑器:设计复杂的发布流程
- 依赖管理:定义服务间的发布依赖关系
- 并行执行:支持并行和串行发布阶段
- 动态调整:运行时调整发布策略
审批流程
- 多级审批:支持业务、技术、安全等多级审批
- 自动审批:基于条件的自动审批通过
- 时间锁:在关键节点设置等待时间
- 审批委派:支持审批权限的临时转移
发布计划
- 日历视图:可视化发布日程
- 资源分配:管理发布涉及的人力和资源
- 风险评估:评估发布的风险等级
- 回滚计划:预设回滚策略和触发条件
可见性
- 实时状态:跟踪每个服务的发布状态
- 跨团队视图:统一视角查看所有团队的发布进度
- 历史记录:完整的发布历史和审计追踪
- 报告导出:导出发布报告用于复盘
适用场景
| 场景 | 发布编排价值 |
|---|---|
| 微服务发布 | 协调多个服务的发布顺序 |
| 基础设施变更 | 管理基础设施变更的影响 |
| 数据库迁移 | 控制数据库迁移和回滚 |
| 跨团队协作 | 统一协调多个团队的工作 |
快速开始
1. 创建发布计划
定义发布的目标、时间线和涉及的服务。2. 设计发布流程
使用可视化编辑器设计发布流程:3. 配置审批节点
设置各阶段的审批人和审批条件。4. 执行发布
启动发布流程,监控系统状态。5. 完成与复盘
发布完成后,生成发布报告并进行复盘。与 CI/CD 的关系
| 维度 | CI/CD | 发布编排 |
|---|---|---|
| 粒度 | 单个服务 | 整个系统 |
| 范围 | 构建和部署 | 业务变更 |
| 审批 | 简单 | 多级复杂 |
| 视角 | 开发者 | 发布经理 |
最佳实践
- 小批量发布:频繁小量发布,降低风险
- 自动化审批:对于低风险变更自动审批
- 可观测性:每个阶段都有明确的成功标准
- 回滚准备:始终准备回滚方案
- 清晰的沟通:保持所有相关方的信息同步
关键指标
| 指标 | 说明 |
|---|---|
| 发布频率 | 每月/每周发布的次数 |
| 发布前置时间 | 从代码提交到生产的时间 |
| MTTR | 平均恢复时间 |
| 变更失败率 | 失败变更占总变更的比例 |