是什么
- 一种的软件开发方法。提升开发角色间沟通,集成,协调效率,实现产品快速部署。
- 一种文化。促进开发和运维之间的协作,专注于持续测试和交付。目标是更快,更自动的部署到生产环境。一切度量只为发现持续改善点,而不是一种追责文化。增加协作,共享工具,减少竖井,减少浪费,重视反馈和自动化。
-
质量把控常见措施
1. 代码质量
Code Reivew
- MR 时,必须有 Review 人。
- 核心文件有 Owner。核心文件改时,Owner 必须 Review。
- 质量检查
- 提交前检查
- 合并到主分支时,跑 CI 检查
- 质量门禁。基于代码扫描的实现。
- 圈复杂度,重复代码率。
2. 自动化测试
- 单元测试。
- 明确编写标准
- 设置单测覆盖率标准。
- 本地和集成环境执行。
- 其他自动化测试
3. 环境治理
- 明确环境分类:开发环境,手工测试环境,自动化测试环境,预发布环境,金丝雀环境。
- 环境自动创建:自动进行环境创建和部署。
DevOps 的度量
1. 质量
- 单位时间遗留缺陷数
- 单个用户故事发现缺陷数
- 变更失败率
- 单位时间内线上故障数
2 速度
- 需求前置周期
- 用户故事交付周期
- 集成测试周期
- 发布频率
- 线上故障平均修复时长
3 价值
- 需求吞吐量
- 有效交付量