DevOps理念在短短十几年时间已迅速蔓延全球,成为企业是否能在行业内脱颖而出的一项关键性因素。DevOps是一种文化,每个企业都有属于自己的特色和业务需求,CI/CD则是实践整个自动化流程的最好工具;CI(持续集成Continuous Integration)指的是研发人员提交代码后,从编译、测试、直到业务上线的一个过程,整个过程称为集成;而高效的、持续性质的不断迭代代码的集成工作,就是持续集成;第一种CD(持续交付Continuous Delivery)指的是将CI的结果,由运维团队持续的部署到生产环境中;另一种CD(持续部署Continuous Deploy)指的是所有的变更都自动部署到生产环境中,持续交付是一种能力,而持续部署是一种实现方式。
近几年,随着网信产业的蓬勃发展,国产处理器及整机对银河麒麟操作系统内核的迭代效率,产品的交付质量与速度提出了更高的要求。为此,麒麟软件将DevOps(Development & Operations)理念引入操作系统内核研发过程,旨在有效提升质量的同时提高交付效率,DevOps理念有助于打破部门壁垒,强化团队协作,提高自动化率,向用户快速交付高质量的产品。
DevOps和CI/CD关系图
麒麟软件研发人员通过调研CI/CD的工具链,以及针对内核自动化持续集成的研发,构建了麒麟软件自有的K2CI平台,它的主要业务流包括集成代码审查、代码静态扫描、编译、测试、反馈、发布等。自动化作为CI的基石,麒麟软件K2CI平台通过自动定时触发检测、自动代码静态扫描、自动kABI检查、补丁实时集成及自动编译、测试、报告、定位、创建任务、关闭任务等全自动功能更好的为研发人员提供了稳定的服务,全方位守护内核质量,实现了持续稳定的产出。
麒麟软件K2CI平台业务流程
在内核开发过程中,麒麟软件K2CI平台通过在不同的阶段,采用不同的CI频率,即可节省资源,也提升了CI效率,将代码提交标准、测试标准、版本出库标准统一,并提交由K2CI平台进行自动化验证,内核出库质量明显得到了提升,通过K2CI-RTB实时集成,K2CI-PT每日集成,K2CI-server每周集成,分阶段对内核代码质量进行保障,且在使用过程中,不断稳定输出成果。
麒麟软件K2CI平台集成环境
目前,在麒麟软件K2CI平台中,已涵盖6家国产CPU架构平台;其中20多个国产整机厂商的设备已纳入K2CI平台开展测试验证,在内核开发阶段采用K2CI-PT平台进行daily测试、功能测试等,在发行版出库前采用K2CI-server平台进行功能性测试、稳定性测试、性能测试等;持续守护内核产品质量,为内核提供质量保障。另外,通过K2CI工具链周期性的问题反馈,能及时解决问题并同步内部代码仓库,极大提高了内核产品的健壮性,同时也强化了麒麟软件对操作系统上游社区补丁修复的推进。
麒麟软件K2CI平台编译和测试架构
未来,麒麟软件将持续构建面向内核的微服务自动化测试平台,满足对最小单元补丁的影响域全方位自动化测试等,为研发人员提供创新的信息技术与服务,让银河麒麟操作系统更安全、更健壮,更节能,更高效。
通讯员 | 白鹂莎、杜式薇
来 源 | 产品与生态中心、研发中心
审 核 | 市场与政府事务部