Tag: 移动工程

大规模自动化移动交付

Fastlane最佳做法 我大规模使用Fastlane的旅程始于为一个团队开发的iOS应用程序构建全自动连续交付系统。 这发展成两个移动应用程序: 一个由多个团队开发的Android应用程序和一个iOS应用程序。 当然,这些团队采用了不同的工具集,各种测试环境以及不同的应用程序配置。 带着我的羽毛,我被要求在两个平台上的许多应用程序中执行相同的操作,这些应用程序具有许多开发团队,许多环境和许多外部资源。 我有提到“很多”吗? 要使数十个团队的数百名开发人员的工作自动化,从而为数十种移动应用程序做出贡献,是很困难的。 团队具有不同的开发方法,架构,工具,发布节奏和门控要求。 要实现这些折衷的交付目标,就需要删除手动流程,提高自动化可靠性,并使团队能够灵活地定义和支持各种流程。 首先,让我们奠定Fastlane基础,然后深入研究解决许多不同目标的实施细节。 您可以在GitHub上找到完整的代码示例集。 访问 Scaling iOS CI / CD的4课 ,了解此过程的其他方面,包括构建可 伸缩的iOS 执行环境以及我们在此过程中面临的三个挑战(环境不一致,容量有限和CI / CD不够灵活)。 Fastlane 101 —基础知识 Fastlane是一个非常活跃的开源项目,使用Ruby实现,目前由Google赞助。 项目维护者可以迅速响应社区提出的问题,并热烈欢迎外界的贡献。 Fastlane作为统一框架,可为iOS和Android应用程序定义自动化流程。 它甚至可以更好地将流程定义与使用这些流程的项目一起移入版本控制中。 “ Fastlane是为您的iOS和Android应用自动执行Beta部署和发布的最简单方法。 🚀它可以处理所有繁琐的任务,例如生成屏幕截图,处理代码签名以及发布您的应用程序。” — Fastlane文档 Fastlane术语 项目 :利用Fastlane的代码库。 Fastfile :包含使用Fastlane特定于域的语言(DSL)进行项目编码的文件。 action :在Fastfile(文档)中使用的单个可配置操作。 车道 :构成一个过程的动作的集合。 通道可以调用其他通道。 private_lane :只能由其他通道调用的通道,不能直接在命令行(文档)上调用。 function :一个封装逻辑的Ruby函数,可以在单个Fastfile中重用而无需更改通道。 plugin :一个Ruby宝石,封装了其他现成的未提供的动作。 开发期间: 构建 :使用调试构建设置 二进制 […]