以汽车行业为例,随着车载软件数智升级的加速,主机厂商往往通过OTA模式快速更新软件,以带给客户更佳的用车体验。智能化、高体验的车载软件已成为汽车的核心竞争力,然而车载软件通常包含上亿行代码,一次软件编译集成需要数小时,提升车载软件的编译构建效率已成为汽车软件竞争力构筑的关键路径。
编译构建效率的提升是一个系统工程,需要构建工程、构建工具、构建环境等各个方面协同优化。通过自动化的构建过程、高效的构建机制、最大化共享的基础设施,才可实现端到端的编译构建效率提升。
在华为的敏捷软件开发历程中,编译构建作为最重要的环节,从最初始的单机自动化构建、到多机自动化构建、再到云化的分布式构建,如今,软件的高效编译构建已很好地支撑了华为公司无线、车、计算、存储、终端等各个业务领域的高速发展,实现更高效的软件发布。
华为云Stack智能研发生产线编译构建(CodeArts Build)服务基于华为敏捷软件开发实践沉淀,为企业提供配置简单的混合语言构建平台,实现编译构建云化,支撑企业实现高效的软件开发,缩短产品上市周期,帮助企业的软件产品快速形成关键竞争力。
01
百种模板,开箱即用
环境搭建无感知
编译构建(CodeArts Build)服务内置130多个构建环境、30多个构建模板、20多个插件,均支持开箱即用,用户无需自行搭建构建环境。同时,支持多平台、多系统构建,包括主流计算架构和PC操作系统。通过跨平台的环境,可消除人工搭建编译服务器、配置持续集成软件等环节,帮助用户快速完成持续集成系统的搭建。
02
十倍加速,极速构建
高效研发
大型嵌入式项目通常包含数量庞大的模块或组件,且代码量巨大,可达上千万行甚至上亿行,编译执行时间长往往成为阻碍产品迭代开发效率提升的关键。传统的软件开发构建,一般在单机上编译,受限于编译服务器的性能,一次复杂软件的全量构建时间往往长达几小时甚至数十小时。编译构建(CodeArts Build)服务采用分布式编译、精准增量编译等技术,突破单台机器的性能瓶颈,通过云的大规模弹性资源实现在鸿蒙HarmonyOS、安卓AOSP以及C/C++工程领域编译构建效率的数倍提升。同时,通过共享的分布式缓存和精准的依赖识别,实现编译命令的按需分发,在节约成本的基础上成倍提升构建效率。
03
应对复杂场景
多组件快速构建集成
大型软件项目往往涉及到多个团队协作开发,一次编译构建会涉及多个代码工程和独立组件的联合编译,针对多团队协作、多种计算架构、多种操作系统和构建工程存在依赖的复杂构建场景,编译构建(CodeArts Build)提供了BuildFlow编排模式,开发或集成工程师可基于多组件依赖关系按需编排,让构建任务按照任务依赖关系以有向无环图的方式构建。
通过高效、灵活的BuildFlow构建模式,不仅可以满足复杂的构建要求,还可以将现有的构建任务以模块化的方式进行拆分,通过多任务并行构建,实现软件包的快速构建集成。
04
高效扩展
按需自定义构建环境
为满足不同用户差异化构建诉求,编译构建(CodeArts Build)同时支持构建镜像、构建环境扩展,用户可按照实际构建场景按需自定义构建镜像,自行接入自有构建机器到云端,以低成本完成构建,构建全过程提供API,实现灵活的调用与集成。
编译构建(CodeArts Build)服务当前已支撑华为6万研发人员的软件高效集成,每日构建任务量达77万次,集中弹性调度24.8万台构建服务器。通过代码按需下载、云化、分布式、精准增量、弹性调度等关键技术,端到端加速软件集成过程,让开发人员编译结果分钟级反馈、版本包30分钟集成、亿级代码全量构建1小时完成。
智能化浪潮下,华为云Stack智能研发生产线编译构建(CodeArts Build)服务将基于AI决策实现更为高效、精准的弹性调度能力,面向更多复杂语言的软件产品,实现多语言的编译构建框架,以智赋能,加速释放软件研发生产力。