06.CI_CD流水线的设计原则笔记
--------------------------------------
流水线总体流程
拉取请求 工作流
人工代码评审 + CI自动化检查 + CD自动化部署
---------------------------------------------------------------
构建集群调度和构建环境管理
构建集群管理
环境堆栈管理策略
配置项管理:提供应用级别的配置项管理能力
应用代码:提供SDK何其他依赖的安装,更i性能,补丁能力
SDK和其他依赖:提供SDK和其他依赖的安装,更新,补丁能力
应用服务器:提供应用服务器的安装,更新,补丁能力
系统组件:提供系统组件的安装,更新,补丁能力
操作系统/PaSS服务:针对主流操作系统Windows/Linux/MacOS提供不同类型,版本的操作系统部署能力
虚拟化/云管能力:利用云化的资源的抽象,提供面向虚拟机的自动化,自主化调度能力
硬件:采用云化的资源管理将硬件抽象成可以随意组合和调度的,计算,存储,网络三大基础组件。
--------------------------------------------------------------
01.制品管理——2类制品
02.制品管理——外部资源
03.制品管理——生成制品——内部依赖
04.制品管理——生成制品——交付件
------------------------------------------------------------------------------
静态代码检查
-------------------------------------------------------
自动化测试
L1:不依赖任何外部环境,当前代码文件存在就可以执行的测试
L2:可以仅依赖当前部署单元运行的测试
L3:可以在完整系统内使用测试数据执行的测试
L4:只能在生产环境执行的测试
----------------------------------------------------------------------------------------------
研发效能提升的核心秘籍
管理粒度:DevOps从管理角度的优化永远是在通过控制“管理单元”的力度来完成的。所谓的“管理单元”可能是团队、需求,任务,测试,交付物等任何研发中的被管理对象。
研发效能提升:无论是敏捷,精益或者持续交付,其最终目的都是为了提升效能。所谓“效能”,就是单位投入的产出量(效率)何组织实现目标的能力。
工程解耦:DevOps从技术角度的优化永远是在通过解除“工程对象”之间的耦合实现的。所谓"工程对象”可能是系统、工具、代码、模块、服务、平台、云或者任何在研发过程中存在或者交付的“技术对象”。