鲁班:持续交付与构建管理的得力助手
2023-11-05 11:53:30
鲁班,阿里巴巴移动端持续交付的得力助手,默默地致力于将好的APP迅速发布到手机上。持续交付的目的是让开发好的APP代码更快的上线,并尽可能的减少软件发布的风险,缩短开发团队等待反馈的周期,提早验证并发现潜在的风险。本文着重介绍了鲁班如何快速将自身的能力扩展到其他APP,从而提高整体工作质量和效率。
持续交付是一个体系化的过程,从开发者本地代码开始到最终到达手机的过程,涉及到编码、测试、编译、部署、发布等多个环节。为了应对快节奏的市场竞争,现代软件交付强调快速迭代、随时交付,这一点对于APP开发来说尤为重要。一个新的APP从设计到开发再到发布,随时都会变更,持续交付正是为了适应这样的变化。但如果一个软件每变动一点,都要经历漫长的交付流程,那么交付周期过长就会拖累产品的开发效率,也意味着更高的出错率和更差的用户体验。
鲁班中包括了持续交付中的所有步骤,旨在帮助App开发者,打通从代码编写到App发布上线的全流程,使开发者不用关心繁琐的App构建过程。这样只需要关注代码和应用自身功能即可,应用发布周期也会变得更短,小范围开发人员就能完成。
在鲁班的持续交付体系中,它主要承载着APP版本流程、包构建、APP专项测试等能力。
其中,APP版本流程是指将一个APP的一个版本的所有流程作为一个单元来进行管理,方便各个环节查找和追踪。包构建是指根据需求生成APK,接入不同的签名文件,生成最终需要的文件。而APP专项测试则是根据需要生成专项测试用例,比如兼容性测试、性能测试等。
但鲁班作为一个服务于阿里经济体多个APP的平台,难免会出现需求重合的情况,这时就要考虑如何将好的经验教训复制到其他需要该功能的APP中。鲁班的设计目标就是希望通过统一的平台、统一的规范来解决这个问题,避免各个APP都构建各自独立的工具或服务,造成资源浪费。
在具体实践中,鲁班从两方面来满足上述目标:一是统一规范,所有App必须接入统一的持续交付平台;二是建设共享组件库,提供通用能力。并且鲁班团队会根据不同APP的差异性,来制定个性化的解决方案,这样可以让多个APP同时享受鲁班的服务。
鲁班的优势有三个方面:
-
第一,工作效率显著提升。原来的构建发布方式,对每个包都要分别构建,效率低下。现在鲁班一次打包构建,多包分发,大大减轻了工作量。
-
第二,业务质量提升。由于大部分APP都是基于统一的能力构建,所以鲁班提供的通用能力就是优质的。同时,鲁班对所有接入的APP提供通用化的专项测试服务,这也可以大大提高整体的业务质量。
-
第三,成本下降。以往是每个APP建设自己的平台,这种孤岛式的开发方式不仅成本高昂,而且一旦其中一个APP停止维护,就会造成资源浪费。现在由于鲁班是一个统一平台,通用能力可以跨多个APP使用,这可以大幅度减少成本支出。
鲁班未来将继续在更多APP上使用,不断优化技术架构和业务支持能力,持续改进产品体验,让开发者在开发和发布APP时,更加快捷、更高效。