阿里巴巴如何提升构建的效率 | 阿里巴巴DevOps实践指南

本文介绍了阿里巴巴为提升构建效率采取的措施,包括针对Java应用的AMaven和C/C++应用的Alimake。AMaven通过缓存、增量计算和C/S化解决Maven构建的性能问题,实现了Java秒级构建。Alimake则通过规范和效率改进,统一编译入口,平均提升构建效率30%,优化了C/C++的构建过程。
摘要由CSDN通过智能技术生成

编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实践指南》前往:https://developer.aliyun.com/topic/devops,下载完整版电子书,了解阿里十年DevOps实践经验。

构建是将源码变成制品的过程。构建包括编译,但不等同于编译。即使对于不需要编译的解释型语言,也要构建成一个压缩包或 Docker 镜像再去部署。无论是在开发阶段还是 CICD 阶段,都离不开构建过程,构建的质量和效率对持续交付影响很大。影响构建效率的因素,包括源码以及构建的依赖。

背景

在阿里巴巴,Java 是被最多人使用的编程语言。在 Java 的构建工具中,由于迁移成本,生态等原因,Maven 一直是服务端应用的最主要构建工具。

Maven 构建性能问题主要有二方面原因。一是外因,从应用角度看,一些 Java 应用历史悠久,依赖不断增加,并因为清理有风险导致累积太多,典型应用有 3000 个 Jar 包依赖,而且这些应用研发人员多,且是跨团队的,导致依赖管理成本高,依赖变得复杂混乱。二是内因,从 Maven 本身来看,它对复杂依赖的处理考虑欠妥。

对于外因,需要业务团队建立依赖梳理管理机制。针对内因,我们对 Maven 进行了重新实现,推出了 AMaven。

另一方面,阿里巴巴有 15%的 C/C++应用。C/C++应用与 Java 的最大区别是:Java 应用构建次数频繁,但每次构建时间短;C/C++应用构建次数少,但一次构建时间长。如某些软件的构建长达 10 多个小时。所以C/C++开发同学的痛点,除了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值