使用fastlane框架全自动化打包IOS

使用fastlane框架全自动化打包

前言

作为公司的iOS程序员,少不了在发布应用的时候各种等待。标准的手动发布流程是:编译->打包上传->填写应用更新数据->等待iTunesConnect编译->选择版本发布,整个过程大概需要30分钟左右。关键是这个过程就像windows装系统一样,虽然手工参与的不多,但是要一直守在电脑前等着。

程序员这么懒,一定会想办法让他自动化的。后来发现特别懒的Felix Krause写的Fastlane,Fastlane可以非常快速简单的搭建一个自动化发布服务,并且支持Android,iOS,MacOS。他可以实现一条命令从编译到选版发布全程不用干预。作为程序员的你只要一条命令,看集美剧,发布就完成了。

文章难度:★☆☆☆☆
系统要求

会编程
Xcode7+
Mac OS 10.11+

Fastlane组件

Fastlane是一套工具集,包括:

测试
    scan => 自动运行测试工具,并且可以生成漂亮的HTML报告
证书,配置文件
    cert => 自动创建管理iOS代码签名证书
    sigh => 一声叹息啊,这么多年和Provisioning Profile战斗过无数次。总是有这样那样的问题导致配置文件过期或者失效。sigh是用来创建、更新、下载、修复Provisioning Profile的工具。
    pem => 自动生成、更新推送配置文件
    match => 一个新的证书和配置文件管理工具。我会另写一篇文章专门介绍这个工具。他会所有需要用到的证书传到git私有库上,任何需要配置的机器直接用match同步回来就不用管证书问题了,小团队福音啊!
截图
    snapshot => 用Xcode7推出的UI test功能实现自动化截图
    frameit => 可以把截的图片自动套上一层外边框
编译
    shenzhen => 当年大名鼎鼎的自动编译工具,现在已经被弃用了
    gym => Fastlane家族的自动化编译工具,和其他工具配合的非常默契
发布
    produce => 如果你的产品还没在iTunes Connect(iTC)或者Apple Developer Center(ADC)建立,produce可以自动帮你完成这些工作
    deliver => 自动上传截图,APP的元数据,二进制(ipa)文件到iTunes Connect
TestFlight管理
    pilot => 管理TestFlight的测试用户,上传二进制文件
    boarding => 建立一个添加测试用户界面,发给测试者,可自行添加邮件地址,并同步到iTC
辅助工具
    spaceship => 为pilot,boarding和deliver等工具提供和 iTC 和 ADC 的交互API。spaceship本来是个独立的项目,后来被Fastlane收编进来
    WatchBuild => 是一个独立的iTC监控工具,开启WatchBuild可以监控iTC上的文件状态,弹出MacOS自带的Notification
Android
    supply => 自动上传到Google Play工具(如果有时间,我想把国内提供API的Android Store都写个插件自动上传,这个问题从10年我刚开始工作就觉得是个痛点)
    screengrab => Android的自动截图工具

Fastlane中的概念

fastlane命令是一个流程控制的命令行工具(CLI),通过内部集成action和第三方的action完成一系列控制流程。运行fastlane命令行工具,会读取当前目录或者./fastlane目录下的Fastfile配置文件。更多详情:https://github.com/fastlane/fastlane

在Fastfile中:

action => Fastlane中的每一条命令都是一个扩展(action),上面提到的deliver,sigh之类的工具本身是CLI,但是在Fastlane中内嵌了对他们支持的action
lane => Fastlane中流程的合集,每
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

里辞恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值