技术标准
研发运营一体化能力成熟度模型
第 3 部分:持续交付过程
The DevOps capability maturity model
Part 3: Continuous delivery process
(征求意见稿)
2017 年 11 月 18 日
YDB XXXXX—XXXX
I
目 次
目次................................................................................... I
前言..................................................................
错误! 未定义书签。
研发运营一体化
......................................................................... 1
1 范围 ............................................................................... 1
2 规范性引用文件 ..................................................................... 1
3 术语 ............................................................................... 1
下列术语和定义适用于本文件。 ......................................................... 1
3.1 AB 测试 ab test .............................................................. 1
3.2 制品 artifact ............................................................... 1
3.3 代码复杂度 code complexity .................................................. 1
3.4 部署流水线 deployment pipeline .............................................. 1
4 缩略语 ............................................................................. 2
5 综述 ............................................................................... 2
6 配置管理 ........................................................................... 2
6.1 版本控制 .................................................................... 2
6.2 版本可追溯性 ................................................................ 3
7 构建与持续集成 ..................................................................... 4
7.1 构建实践 .................................................................... 4
7.2 持续集成 .................................................................... 5
8 测试管理 ........................................................................... 5
8.1 测试分层策略 ................................................................ 6
8.2 代码质量管理 ................................................................ 6
8.3 自动化测试 .................................................................. 7
9 部署与发布管理 ..................................................................... 8
9.1 部署与发布模式 .............................................................. 8
9.2 持续部署流水线 .............................................................. 9
10 环境管理 .......................................................................... 9
11 数据管理 ......................................................................... 10
11.1 测试数据管理 .............................................................. 10
11.2 数据变更管理 .............................................................. 11
12 度量与反馈 ....................................................................... 12
12.1 度量指标 .................................................................. 12
12.2 度量驱动改进 .............................................................. 13
YDB XXXXX—XXXX
II
前 言
研发运营一体化是指在 IT 软件及相关服务的研发及交付过程中,将应用的需求、开发、测试、部
署和运营统一起来,基于整个组织的协作和应用架构的优化,实现敏捷开发、持续交付和应用运营的无
缝集成。帮助企业提升 IT 效能,在保证稳定的同时,快速交付高质量的软件及服务,灵活应对快速变
化的业务需求和市场环境。
本标准是“研发运营一体化能力成熟度模型”系列标准的第 3 部分,该系列标准的结构和名称如
下:
§ 第 1 部分:总体架构
§ 第 2 部分:敏捷开发管理过程
§ 第 3 部分:持续交付过程
§ 第 4 部分:技术运营过程
§ 第 5 部分:应用架构
§ 第 6 部分:安全管理
§ 第 7 部分:组织结构
本标准按照 GB/T 1.1-2009 给出的规则起草。
本标准由中国通信标准化协会提出并归口。
本标准起草单位: DevOps 时代社区、高效运维社区、中国信息通信研究院、深圳优维科技有限公
司、中兴通信股份有限公司
本标准主要起草人:石雪峰、张乐、景韵、王津银、鞠炜刚、萧田国、栗蔚
1
研发运营一体化
总体架构及能力成熟度模型
1 范围
本标准规定了研发运营一体化的持续交付过程及能力成熟度模型。本 标 准 中 的 研 发 运 营 一 体 化 包 括
IT软件及服务的需求、开发、测试、部署和运营五个环节,并实现敏捷开发、持续交付和技术运营的顺
序闭环集成。
本标准适用于企业在实施IT软件开发和服务过程中实现研发运营一体化架构,提升IT效能。
2 规范性引用文件
下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件,仅所注日期的
版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
[1] GB/T 32400-2015 信息技术 云计算 概览与词汇
[2] GB/T 32399-2015 信息技术 云计算 参考架构
[3] YD/T2441-2013 互联网数据中心技术及分级分类标准
[4] GB/T 33136-2016 信息技术服务数据中心服务能力成熟度模型
3 术语
下列术语和定义适用于本文件。
3.1 AB 测试 ab test
为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分
相同(相似)的访客群组随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析评估
出最好版本正式采用。
3.2 制品 artifact
即构建过程的输出物,包括软件包,测试报告,应用配置文件等。
3.3 代码复杂度 code complexity
主要度量指标为圈复杂度,即代码中线性独立路径的数量。
3.4 部署流水线 deployment pipeline
指软件从版本控制库到用户手中这一过程的自动化表现形式。
2
4 缩略语
下列缩略语适用于本文件。
CI Continuous Integration 持续集成
CD Continuous Delivery 持续交付
MVP Most Variable Product 最小可行产品
DEEP Principle Detailed Appropriately,Estimated,Emergent,Prioritized principle 适
当细化的,有估算的,随时产生的,有优先级的原则
UI User Interface 用户界面
UAT User Acceptance Testing 用户验收测试
OS Operation System 操作系统
5 综述
持续交付是指以可持续的方式将各类变更(包括新功能、缺陷修复、配置变化、实验等)安全、快
速、高质量地落实到生产环境或用户手中的能力。
持续交付的分级技术要求包括:配置管理、构建与持续集成、测试管理、部署与发布管理、环境管
理、数据管理、度量与反馈等,如图1所示。
图 3 持续交付分级技术要求
6 配置管理
配置管理是指一个过程,通过该过程,所有与项目相关的产物,以及它们之间的关系都被唯一定义、
修改、存储和检索,保证了软件版本交付生命周期过程中所有交付产物的完整性,一致性和可追溯性。
配置管理是持续交付的基础,是保障持续交付所有活动顺畅有效开展的前提。良好设计的配置管理
策略,可以提高组织协作的效率,改善产品价值交付的完整流程。
配置管理可以分为版本控制和版本可追溯性两个维度表述。
6.1 版本控制
版本控制是指通过记录软件开发过程中的源代码、配置、工具、环境、数据等的历史信息,快速重
现和访问任意一个修订版本。
版本控制是团队协作交付软件的基础,应支持团队间所有变更历史的详细信息查询及共享,包 括 修
改人员、修改时间、文件内容以及注释信息等,通过有效信息共享,加快问题定位和沟通协作效率。