Skip to content

Commit 6481830

Browse files
authored
Merge branch 'master' into 徐毅老师--115
2 parents 9e1db0f + a97e747 commit 6481830

6 files changed

+686
-178
lines changed

README.md

+24-1
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,31 @@
6565

6666
### 3. 持续交付
6767

68+
| 能力项 | 源代码管理 | 构建管理 | 持续集成 | 流水线 | 制品管理 | 发布管理 | 环境管理 | 数据管理 | 应用配置管理 |
69+
| ------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | :----------------------------------------------------------: |
70+
| 组长 | 腾讯云 | 腾讯云 | 灵雀云 | 华为云 | 阿里云 | 腾讯云 | 优维科技 | 待定 | 阿里云 |
71+
| 成员 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/浙江移动 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/浙江移动 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/亚信科技/浙江移动 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/优维科技/亚信科技/浙江移动 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/浙江移动 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/优维科技/浙江移动 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/优维科技/浙江移动 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/浙江移动 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/优维科技/浙江移动 |
72+
6873
### 4. 测试管理
74+
75+
| 能力项 | 用例与测试计划管理 | 缺陷管理 | 测试数据管理 |
76+
| ------ | ------------------------------------------------------------ | ---------------------------------------------------- | ---------------------------------------------------- |
77+
| 组长 | 中兴 | 阿里云 | 华为云 |
78+
| 成员 | 华为云/腾讯云/中兴/阿里云/京东云/电信研究院/亚信科技/浙江移动 | 华为云/腾讯云/中兴/阿里云/京东云/电信研究院/浙江移动 | 华为云/腾讯云/中兴/阿里云/京东云/电信研究院/浙江移动 |
79+
6980
### 5. 自动化测试
70-
### 6. 技术运营
81+
82+
| 能力项 | 代码质量管理 | 单元测试 | 接口/服务测试 | UI测试 | 移动应用测试 | 性能测试 |
83+
| ------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ---------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------ |
84+
| 组长 | 腾讯云 | 亚信科技 | 华为云 | 阿里云 | 腾讯云 | OneAPM |
85+
| 成员 | 阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴/浙江移动 | 华为云/腾讯云/中兴/阿里云/京东云/电信研究院/亚信科技/浙江移动 | 华为云/腾讯云/中兴/阿里云/京东云/电信研究院/亚信科技/浙江移动 | 华为云/腾讯云/中兴/阿里云/京东云/电信研究院/浙江移动 | 华为云/腾讯云/中兴/阿里云/京东云/电信研究院/浙江移动 | 华为云/腾讯云/中兴/阿里云/京东云/电信研究院/OneAPM/MicroFocus/浙江移动 |
86+
87+
### 6. 技术运营(待定)
88+
7189
### 7. 安全开发\交付\运营
7290

91+
| 能力域 | 安全开发 | 安全交付 | 安全运营 |
92+
| -------- | ------------------------------------------------------------ | ------------------------------------------------------------ | --------------------------------- |
93+
| 能力项 | 代码安全与合规管理 | 安全测试 | 暂无 |
94+
| 编写单位 | 组长:华为云 成员:阿里云/腾讯云/华为云/京东云/灵雀云/电信研究院/谐云/中兴 | 组长:阿里云 成员:华为云/腾讯云/中兴/阿里云/京东云/电信研究院 | 组长:腾讯云 负责本部分能力项拟定 |
95+

application_design_and_development.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
——支撑平台:支撑平台是一个信息的集成环境,是将分散、异构的应用和信息资源进行聚合,通过统一的访问入口,实现结构化数据资源、各种服务跨数据库的无缝接入和集成,提供一个支持信息访问、传递、以及协作的集成化环境,实现个性化业务应用的高效开发、集成、部署与管理。
2626

27+
2728
##### 可以包含以下高级功能:
2829

2930
——xxxx
@@ -64,20 +65,20 @@
6465

6566
--支持访问后端环境,可实现跨网络/跨容器联调
6667

67-
--支持插件机制快速添加技术栈
68-
69-
--支持对接调用其他服务 可与DevOps其他交付环节无缝集成(描述需要再准确些)
7068

7169
##### 可以包含以下高级功能:
7270

71+
7372
--支持人工审批与主流代码仓库对接,可实现代码自动下载、更新与智能提交(描述不清)
7473

75-
--宜集成代码静态检查
74+
——宜集成代码静态检查,快速发现低级源码错误
7675

77-
--宜提供多种开发框架和运行环境的例程代码(描述不清)
76+
——宜提供多种开发框架和运行环境的例程代码,支持用户快速入门和后续编码
7877

7978
--支持多地协同开始时候的代码同步/协同编辑
8079

8180
--安全相关:防止拍照等,支持用户快速入门和后续编码
8281

82+
--支持插件机制快速添加技术栈
8383

84+
--支持对接调用其他服务 可与DevOps其他交付环节无缝集成(描述需要再准确些)

continuous_delivery.md

+195-39
Original file line numberDiff line numberDiff line change
@@ -238,117 +238,253 @@
238238

239239
——能使用分布式系统管理构建任务。
240240

241-
242-
243241
### 3. 持续集成
244242

245243
持续集成是指通过源代码构建软件的流程。
246244

247245
##### 应包含以下基本功能:
248246

249-
——xxxx
247+
持续集成是指通过源代码构建软件的流程。应该包含以下基本功能:
250248

251-
——xxxx
249+
——保存多个构建任务
250+
251+
——设置代码仓库地址,以及拉取源代码的凭据
252+
253+
——设置一个或多个构建命令
254+
255+
——支持多种源代码语言的编译
256+
257+
——支持多种源代码托管软件
258+
259+
——设置自动触发条件:定时触发,源代码变更触发
260+
261+
——构建任务应该含多个执行记录
262+
263+
——构建执行记录展示记录状态,以及结果
264+
265+
——构建执行记录展示构建过程产出的日志
266+
267+
——支持构建命令中执行软件单元测试
268+
269+
——支持执行静态源代码扫描
270+
271+
——支持定义构建执行环境
252272

253273
##### 可以包含以下高级功能:
254274

255-
——xxxx
275+
——可以支持提供执行持续集成依赖的服务,例如:数据库服务,缓存服务等
256276

257-
——xxxx
277+
——构建执行记录中可以保存构建产出物
278+
279+
——构建执行记录中可以保存构建报告,单元测试报告,测试覆盖率报告
280+
281+
——可以保存构建产出物到第三方软件
282+
283+
——可以支持在一个构建任务中多个源代码仓库的
284+
285+
——可以支持定义构建任务超时时间,并在执行过程不允许
286+
287+
——支持构建容器镜像,以及推送构建的容器镜像到第三方软件
288+
289+
——支持源代码缓存
290+
291+
——支持触发其它构建任务,或者其它第三方软件
292+
293+
——支持定义执行超时时间
294+
295+
——建议在高级功能中添加:
296+
297+
——支持源码多分支管理策略的构建场景
258298

299+
——支持动态可伸缩的构建执行环境
259300

301+
——支持构建结果通知(及时消息、邮件等)(10.9)
260302

261303
### 4. 流水线
262304

263-
流水线是xxxx
305+
流水线是将代码提交到部署上线整个过程中的自动化实现
264306

265307
##### 应包含以下基本功能:
266308

267-
——xxxx
309+
——支持集成调度代码托管、代码检查、编译构建、部署、测试、发布等任务,应实现提交代码后的端到端的产品自动化交付与发布
268310

269-
——xxxx
311+
——支持业务流程按需定制,可选择要执行的步骤和顺序
270312

271-
##### 可以包含以下高级功能:
313+
——支持级联调度与分层分级(是否增加描述1101)
272314

273-
——xxxx
315+
---增加串行并行能力的描述(1101)
274316

275-
——xxxx
317+
——支持按时间计划或代码提交等多种触发方式
318+
319+
——支持流水线状态可视化,宜清晰呈现价值流动,宜及时准确定位问题
276320

321+
——支持参数配置
277322

323+
++增加质量管理控制,支持多种条件判断
324+
325+
##### 可以包含以下高级功能:
326+
327+
——支持人工审批
278328

279329
### 5. 制品管理
330+
专家建议:增加制品版本控制模块;另外是高级功能和基本功能划分的问题。
280331

281-
制品管理是xxxx
332+
制品管理是对软件研发过程中生成的产物的管理,一般作为最终交付物完成发布和交付。 制品即构建过程的输出物,包括软件包,测试报告(存疑,招商银行,是否作为元数据),应用配置文件(是否适合作为制品,应当能够作为元数据1101)等。 比如jar包、zip包、rpm包、docker镜像等
282333

283334
##### 应包含以下基本功能:
335+
--(缺少制品添加方式的描述(谐云科技)1101)
284336

285-
——xxxx
337+
——支持至少一种制品类型;
286338

287-
——xxxx
339+
——为制品添加版本信息等元数据信息(元数据信息希望能细化,烽火科技1101);
340+
341+
——使用制品的审计日志;
342+
343+
——基本的权限管理;
288344

345+
——代理其他制品库;(不应该作为基本功能,应作为高级功能,一些企业无法实现代理能力,平安银行1101)
346+
347+
——检索制品;
348+
349+
——备份和恢复
289350
##### 可以包含以下高级功能:
290351

291-
——xxxx
352+
——支持多种制品类型;
292353

293-
——xxxx
354+
——制品分发支持大规模并发、全球加速;(应当增加对场景的限制1101)
355+
356+
——与持续交付系统高度集成;(描述有欠缺,是否和API一行合并谈集成能力1101)
357+
358+
——基于元数据信息实现制品的安全管控、晋级(晋级描述不明1101)
359+
360+
是否应加入制品的安全熔断机制,当包不安全时快速熔断阻塞依赖(华三1101)
361+
362+
——REST API支持;
363+
364+
——通过关键字、坐标数据、CheckSum等多种方式检索制品
365+
366+
——基于角色的权限管理
367+
368+
——基于自定义策略的访问控制
369+
370+
——制品文件安全扫描
371+
372+
——分析和查看制品依赖关系
294373

374+
——基于CheckSum的制品去重存储;
295375

376+
——自定义制品清理/归档策略(是否应该改为基本功能,平安银行,征求下云产品的建议1101)
377+
378+
--(是否增加配额管理能力作为高级功能1101)
379+
380+
——支持多种存储源,(建议是写支持存储类型,不应出现具体厂商1101) 比如阿里云OSS、AWS的S3等
296381

297382
### 6. 部署管理
298383

299-
部署管理是xxxx。
384+
专家建议:生产环境的管理还是测试环境?此处是生产管理的,专家建议包含生产环境和测试环境。(增加对测试等各类环境的描述1101)
385+
386+
部署管理是DevOps持续交付中的一个重要环节,它借助自动化工具与统一规范,实现仓库版本到生产环境的自动化部署,提升开发和运维人员快速部署的能力。应该包含以下基本功能:
300387

301388
##### 应包含以下基本功能:
302389

303-
——xxxx
390+
----是否应该有 权限管理(1101)
304391

305-
——xxxx
392+
——部署工具应具备批量(海量)并发部署的能力;
306393

307-
##### 可以包含以下高级功能:
394+
——支持灰度、全量(是否是发布管理的概念,而不是部署管理1101)等部署方案的实施,实现对生产环境的平滑升级;
308395

309-
——xxxx
396+
——部署前支持备份上一版本的生产环境,在当前版本出现问题后能支持版本快速回退;
397+
398+
——支持业务配置文件的自动生成与下发以及统一管理;
399+
400+
——当业务架构调整后(存在疑问,mark1101),部署方案(范围较大1101)仅需调整布署节点配置项即可(布署节点指的是什么,京东云1101);
401+
402+
——部署工具与业务架构松耦合,无需业务因布署方案或工具做任何改造;
403+
404+
——部署对象服务器支持windows、linux等主流操作系统;
405+
406+
——部署对象服务器在CMDB集中管理,与部署工具联动实现任意组合集群的版本部署;
310407

311-
——xxxx
312408

409+
##### 可以包含以下高级功能:
410+
411+
可以包含以下高级功能:
313412

413+
——部署工具具备调度编排的能力,能同时对不同功能模块版本实现一次性全流程部署;
414+
415+
——支持上下文传输部署,即上一部署节点的输出能作为下一节点的前置条件或输入参数;
314416

315417
### 7. 发布管理
316418

317-
发布管理是xxxx
419+
(如何描述对业务影响) 发布管理是指一个应用或多个集成应用程序从测试完成开发测试到生产环境用户可见的完整发布流程(定义混淆,如何和部署区分,华为1101)
318420

319421
##### 应包含以下基本功能:
320422

321-
——xxxx
423+
——发布计划,规划软件程序的整体发布计划,包含但不限于:谁在何时、何地、怎样、发布了什么。以及对比发布计划和发布状态的能力。
322424

323-
——xxxx
425+
——发布定义,定义发布流程和审批工作流。
426+
427+
——发布策略,通过选择进行发布的目标环境、超时时间、暂停点、灰度发布等发布的具体策略,执行对应的发布动作;发布策略包含并不限于一键式发布,零停机发布、灰度发布、金丝雀发布等
428+
429+
----(与布署管理关联1101)
430+
431+
——发布执行,自动化地执行发布策略,如策略中有暂停点,应验证后继续执行发布
432+
433+
——发布确认,通过发布规划中软件发布的确认点,进行发布确认,如与预期不一致,可快速回滚到发布前的软件版本
324434

325435
##### 可以包含以下高级功能:
326436

327-
——xxxx
437+
可以包含以下高级功能:
328438

329-
——xxxx
439+
——发布决策,实现个角色的协同,评审决策,控制应用版本向后续环境的流动
330440

441+
——风险评估与质量门禁,提供发布影响分析视图,可快速查看发布产品的发布风险,在关键节点控制版本质量,支持自动质量门禁
331442

443+
——发布度量,发布报告视图,提供发布的状态报告与历史发布数据
332444

333445
### 8. 环境管理
334446

335-
环境管理是xxxx
447+
环境管理是一种配置管理活动,确保应用在多个环境之间达到持续交付的目的
336448

337449
##### 应包含以下基本功能:
338450

339-
——xxxx
451+
——可以定义不同的环境类型(开发、测试、预发布及生产环境);
340452

341-
——xxxx
453+
——可以定义不同的环境依赖资源信息及其配置,比如主机、容器集群、DNS、中间件、其他基础设施服务等等;
454+
455+
——可以根据环境的配置快速生成交付(交付一词不妥1101 ) 环境;
456+
457+
——可以让环境的配置信息存储在构件库中,版本化控制配置信息;(构件库的含义不清,应当澄清)
458+
459+
——可以支持应用运行的环境是静态主机集群或者是动态的容器集群;
460+
461+
——可以支持不同的应用有不同的基础设施及服务依赖;
462+
463+
——可以支持不同的对象分块构建,比如说构建基础设施、构建中间件或者操作系统环境等等;
464+
465+
——可以支持不同的环境采用不同的构建技术,比如说虚拟化、容器等等,但测试环境和生产环境必须类似;
466+
467+
——可以支持环境的配置信息与应用或者项目关联;
468+
469+
——对环境提供监控功能;
342470

343471
##### 可以包含以下高级功能:
344472

345-
——xxxx
473+
可以包含以下高级功能:
346474

347-
——xxxx
475+
——提供与不同的配置管理工具对接功能;
476+
477+
——提供与不同制品构件库对接功能,比如说maven仓库和容器仓库artifactory、harbor等等(1101);
478+
479+
——提供开放式的API供外围平台编排调用;
480+
481+
——提供所有环境的变更日志和审计功能;
348482

483+
——提供环境配置信息的权限控制;
349484

485+
——提供测试验证的工具来验证环境的有效性;
350486

351-
### 9. 数据管理
487+
### 9. 数据管理(待定)
352488

353489
数据管理是xxxx。
354490

@@ -366,16 +502,36 @@
366502

367503
### 10. 应用配置管理
368504

369-
应用配置管理是xxxx
505+
应用配置是指应用启动或动态运行时影响应用行为的配置项,典型例子如数据库连接串(含用户名密码),本地服务线程池数,RPC连接超时时间设置,三方软件LicenseKey,等。应用配置管理,是对应用配置进行集中式管理的系统和方法。采用应用配置管理,可以让配置发布有效解耦程序开发,程序发布等流程,并让程序能动态响应配置的变更,提高DevOps效率
370506

371507
##### 应包含以下基本功能:
372508

373-
——xxxx
509+
——配置的最小粒度应对应单一配置ID,其内容应不限于KV,Json, XML等格式,用户应能自由配置。
374510

375-
——xxxx
511+
——配置内容大小应有限制,但是不宜太小,如应超过100KB以上。
512+
513+
——配置应能基于租户,分组,或其他不同粒度规则进行隔离。
514+
515+
——对配置的访问应有鉴权,以控制账号对相关配置项的读写权限操作。
516+
517+
——应提供相应程序接口供应用程序实现读、写配置的功能。
518+
519+
——应提供相应程序接口供应用程序实现配置订阅的功能,如配置变更,则程序可在短时间内做出响应。
520+
521+
——应用程序应可以基于各类语言如java, go, node, c++等多语言SDK来操作配置。
522+
523+
——应用配置管理应能和各类CI/CD工具集成,如github,等。
376524

377525
##### 可以包含以下高级功能:
378526

379-
——xxxx
527+
可以包含以下高级功能:
528+
529+
——配置发布时应支持灰度发布,如根据某类机器的IP或某类机器的Label。
530+
531+
——应提供配置订阅监控,可查看配置被哪些机器订阅。
532+
533+
——配置应能区分版本,不同版本之间能一键回滚,以降低配置发错的风险。
534+
535+
——配置管理应能充分集成各类加密工具,如AWS KMS,Aliyun KMS,Hashcorp Vault,(不应出现具体产品1101)以保证配置安全性。
380536

381-
——xxxx
537+
——配置管理中心以成为系统单点,如管理中心宕机,应用应能正常运行。(但新配置不能发布)

0 commit comments

Comments
 (0)