千家信息网

华为云发布分布式编译构建系统 CodeArts Build

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,感谢CTOnews.com网友 星汉漫渡 的线索投递!CTOnews.com 2 月 14 日消息,华为云今天发布分布式编译构建系统 CodeArts Build,旨在支撑企业实现高效的软件开发,缩短
千家信息网最后更新 2024年11月11日华为云发布分布式编译构建系统 CodeArts Build
感谢CTOnews.com网友 星汉漫渡 的线索投递!

CTOnews.com 2 月 14 日消息,华为云今天发布分布式编译构建系统 CodeArts Build,旨在支撑企业实现高效的软件开发,缩短产品上市周期,帮助企业的软件产品快速形成关键竞争力。

编译构建效率的提升是系统工程,需要构建工程、构建工具、构建环境等各个方面协同优化。通过自动化的构建过程、高效的构建机制、最大化共享的基础设施,才可实现端到端的编译构建效率提升。

软件是将源代码及其所依赖的二进制文件等,通过编译、链接、打包等过程形成的二进制文件。通过持续集成实现编译构建的自动化,已在业界普遍推行。软件生成过程的自动化能够减少人工干预和重复操作,实现软件的快速验证,更快地发现错误并修复。

从最初始的单机自动化构建、到多机自动化构建、再到云化的分布式构建,如今,软件的高效编译构建已很好地支撑了华为无线、数通、车、计算、存储、终端等各个业务的高速发展,实现更高效的软件发布

华为云 CodeArts Build 当前已支撑华为 6 万研发人员的软件高效集成,每日构建任务量达 77 万次,集中弹性调度 24.8 万台构建服务器。通过代码按需下载、云化、分布式、精准增量、弹性调度等关键技术,端到端加速软件集成过程,让开发人员编译结果分钟级反馈、版本包 30 分钟集成、亿级代码全量构建 1 小时完成。

CTOnews.com了解到,华为云 CodeArts Build 内置 130 多种构建环境、30 多个模板、20 多个插件,用户开箱即用。同时,CodeArts Build 支持多平台、多系统构建,包括 x86、ARM 等计算架构,以及 Linux、Windows、macOS 等操作系统。通过内置的跨平台环境,可消除人工搭建编译服务器、配置持续集成软件等环节,帮助用户快速完成持续集成系统的搭建。

华为云 CodeArts Build 提供代码下载加速技术,通过对源码文件树进行特征识别码计算,基于构建专用的分布式文件存储系统,对源码进行权限加密和去重存储,实现文件一次缓存多次复用,大大减少了从代码仓下载文件的次数。同时,通过 VPC 内的专用网络通道,高效地从缓存复用代码,从而实现构建时代码的高效下载。

华为云 CodeArts Build 提供分布式编译、精准增量等技术,突破单台机器的性能瓶颈,通过云的大规模弹性资源实现 C / C++ 语言的编译加速。同时通过共享的分布式缓存和精准的依赖识别,实现编译命令的按需分发,在节约成本的基础上成倍提升构建效率。

针对涉及到多个团队协作、多种计算架构、多种操作系统和构建工程存在依赖的复杂构建场景,华为云 CodeArts Build 提供了 BuildFlow 编排模式,开发或集成工程师基于多组件依赖关系的按需编排,可让构建任务按照任务依赖关系以有向无环图的方式构建。通过高效、灵活的 BuildFlow 构建模式,不仅可以满足复杂的构建要求,还可以将现有的构建任务以模块化的方式进行拆分,通过多任务并行构建,实现软件包的快速构建集成。

智能终端、车载软件、物联网设备等嵌入式软件领域,通常基于鸿蒙、AOSP 等系统开发,一次构建需要同时集成数百甚至上千个代码仓,多代码仓的集成下载效率至关重要。华为云 CodeArts Build 集成 Repo 下载工具,用户只需进行简单配置即可实现多个代码仓的联动集成下载。同时也可集成代码缓存技术,实现多个代码仓的联动高效下载。

华为云 CodeArts Build 通过统一弹性调度华为无线、数通、光、车、计算、存储等各产品线的构建资源,实现企业级数十万台构建资源的共享。相比各产品、项目团队自建、独占构建资源,可节省 70% 构建资源。

华为云 CodeArts Build 已支撑华为公司云计算、网络、终端、芯片、汽车等各个业务的高速发展。例如,CodeArts Build 通过极致的构建加速能力,帮助光产品线各产品亿级代码全量构建时长缩短 20 倍,组件间集成周期从 1 周缩短到 1 小时;通过云的弹性调度能力,实现构建资源的按需获取和低成本构建,构建服务器消耗从 3.6 万台降低到 1 万台。

面向未来,华为云 CodeArts Build 将基于 AI 决策实现更为高效、精准的弹性调度能力,面向更多复杂语言的软件产品,实现多语言的编译构建框架。

0