QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

Fastlane 为 iOS 带来持续部署

  • 2015-01-25
  • 本文字数:1541 字

    阅读完需:约 5 分钟

Fastlane 是一组工具套件,旨在实现 iOS 应用发布流程的自动化,并且提供一个运行良好的持续部署流程,只需要运行一个简单的命令就可以触发这个流程。

Fastlane 是一个 ruby 脚本集合,其中囊括了向苹果商店提交新应用或更新已有应用所需要的最常用任务。

  • deliver用于上传应用的二进制代码,应用截屏和原数据到应用商店
  • snapshot可以自动化 iOS 应用在每个设备上的本地化截屏过程
  • frameit用于在应用截屏外添加设备框架
  • PEM可以自动化地生成和更新应用推送通知描述文件
  • sigh可以生成并下载开发者的应用商店配置文件

这个套件支持与 Jenkins CocoaPods xctools 等其他第三方工具的集成,并且能够定义多个 _ 通道(lanes)_ 以支持不同的部署目标,如应用商店,Beta 测试和测试。

fastlane 典型的工作流程如下:

复制代码
lane :appstore do
increment_build_number
cocoapods
xctool
snapshot
sigh
deliver
frameit
sh "./customScript.sh"
slack
end

为了了解到更多关于这个项目的信息,InfoQ 采访了 Fastlane 的发明者 Felix Krause

持续交付 /部署能够给 iOS应用部署流程带来的最大收益是什么?在苹果的审核流程框架之下,这个工具能够多大程度地发挥作用?

最主要的收益就是能够在每次发布一个更新或全新应用的时候可以为你节省大量的时间。这是 iOS 开发者必须亲自完成的工作。

在刚刚启动这个项目的时候,我并不确定是否能够将 iOS 应用发布流程的各个方面完全自动化,因为并没有公开的 API 来实现它。令人高兴的是,它的确能够正常运转,而且我已经为多家公司制定了完整的持续部署解决方案。

可否为我们简单描述一下使用 fastlane**** 的典型的工作流程?其中最相关的定制化选项有哪些?

我主要在如下场景下使用 fastlane:

  • 在每次提交时执行测试(这包括单元测试和集成测试)
  • 只创建新的屏幕截图将其发送给客户
  • 构建并分发 Beta 版本
  • 构建并分发至应用商店(这包括更新配置文件,创建新的屏幕截图,上传应用至应用商店并提交应用)

在 http://fastlane.tools 网站上可以找到一些简单的例子。每个开发者都可以很方便地添加或删除单个构建步骤,甚至可以实现自己的构建步骤。

你认为什么类型的组织(例如独立开发者,小型开发组织,大型企业等)能够从 fastlane**** 的使用中受益最多?

独立开发者和处于初创阶段的小型开发组织:这类组织通常还没有运行任何自动化流程,很容易就可以开始使用 fastlane。大型企业通常都已经有了某种类型的持续集成工具,他们需要适应 fastlane 的使用。

可否告诉我们一些关于 fastlane**** 当前采用率的情况?现在有什么成功案例么?

我不想自卖自夸,不过我可以分享一些数字:

  • 全部 fastlane 工具大约有 20000 次安装
  • 在第一次发布后的三天内有 10000 人次访问了 http://fastlane.tools
  • 所有 工具和 fastlane 曾经入选 Github 当月 Ruby 趋势库

我已经从一些知名的公司得到反馈称,他们已经成功地将 fastlane 工具集成到了他们的发布流程中。 Panic 是我得到反馈最大的公司之一。

驱动你创建 fastlane**** 的过程是怎样的呢?

我最初只为一个客户实现了 fastlane,当时的 fastlane 与他们的系统结合十分紧密。当我跟其他的开发者谈论此事时,他们非常兴奋并且询问他们是否也可以使用这个工具。这就是为什么我以一种十分灵活并且文档齐全的方式开发这个工具以便将其共享给其他 iOS 开发者。

最初我只开发了 deliver 。之后我意识到还缺少一些工具,这就是为什么我又创建了另外四个工具(snapshot,frameit,PEM 和 sigh)。因为这些程序都是独立运行的,我又想到以某种方式将它们连接起来。也就在这时我有了 fastlane 的想法。

Fastlane 是一个开源的工具集,可以从Github 得到它的克隆。从官方指南中可以了解到关于安装、配置和使用这些工具的更多细节信息。

查看英文原文: Fastlane Brings Continuous Deployment to iOS

2015-01-25 09:0813988
用户头像

发布了 75 篇内容, 共 63.6 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

闭关吃透Java性能手册,成功拿到字节Offer!不愧是阿里内部资料

程序猿阿宇

Java 后端 阿里 Java工程师 构架

兆骑科创高质量海归人才双创服务平台,线上直播路演

兆骑科创凤阁

行云管家V6.5.1/2/3系列版本发布:数据库OpenAPI能力持续强化

行云管家

数据库 版本 IT运维 行云管家

Okaleido上线聚变Mining模式,OKA通证当下产出的唯一方式

鳄鱼视界

华为2023届提前批预热开始!左 神的程序代码面试指南终派上用场

程序猿阿宇

Java 算法 后端 Java工程师 算法刷题

怒冲GitHub榜首!京东T8幕后打造高并发面试手册,狂虐阿里面试官

程序猿阿宇

Java 高并发 阿里 构架 面试‘

Beyond Compare 4 实现class文件对比【最新】

白粥

工具 Beyond Compare 文件对比

墨天轮高分技术文档分享——数据库安全篇(共48个)

墨天轮

MySQL 数据库 oracle postgresql 数据库安全

敞开大门的支付宝,是商家的新掘金地吗?

ToB行业头条

CircleIndicator组件,使指示器风格更加多样化

OpenHarmony开发者

OpenHarmony

阿里Java架构师面试高频300题:集合+JVM+Redis+并发+算法+框架等

程序员啊叶

兆骑科创海内外高层次创新创业人才服务平台,双创成果转化平台

兆骑科创凤阁

终极套娃 2.0 | 云原生交付的封装

尔达Erda

云计算 程序员 微服务 云原生 开发

BATM面试Java岗:精选200+面试题及答案、6大重点规划和经验总结

程序员啊叶

Java 编程 程序员 架构 java面试

测试驱动开发(TDD)在线练功房 | 9月17日开课

ShineScrum

敏捷 测试 TDD 代码 测试驱动开发

哪个led显示屏厂家更好

Dylan

LED显示屏 led显示屏厂家

不愧是阿里内部“千亿级并发系统架构设计笔记”面面俱到,太全了

冉然学Java

Java 高并发系统设计 技术栈 构架 高并发处理

如何构建面向海量数据、高实时要求的企业级OLAP数据引擎?

字节跳动数据平台

数据仓库 云原生 OLAP Clickhouse

一次性把Docker的概念、容器与虚拟机的区别、容器交付的优势讲清

程序员啊叶

Java 编程 程序员 架构 java面试

用GaussDB(for Redis)存画像,推荐业务轻松降本60%

华为云开发者联盟

数据库 redis 存储 GaussDB ( for Redis ) 用户画像

2022秋招,Java岗最全面试攻略,吃透25个技术栈Offer拿到手软

程序猿阿宇

Java 面试题 面经 Java工程师 秋招

产品动态丨Android 13 高效适配全新升级

MobTech袤博科技

android

HDD杭州站·HarmonyOS技术专家分享HUAWEI DevEco Studio特色功能

HarmonyOS开发者

HarmonyOS

十字链表的存储结构

乔乔

7月月更

1000个字带你一次性搞懂JavaAgent技术,反正我是彻底服了

程序员啊叶

Java 编程 程序员 java面试 构架

今天去 OPPO 面试,被问麻了

程序员啊叶

Java 编程 程序员 架构 java面试

物理防火墙是什么?有什么作用?

行云管家

网络安全 防火墙

众人呼唤的 Java 单商户系统,究竟有什么过人之处?

CRMEB

优必选大型仿人服务机器人Walker X的核心技术突破

优必选科技

机器人

手把手教你在 Vue3 中自定义指令

江南一点雨

华为被迫开源!从认知到落地SpringBoot企业级实战手册(完整版)

程序猿阿宇

Java 程序员、 秋招 构架 面试‘

Fastlane为iOS带来持续部署_Android/iOS_Sergio De Simone_InfoQ精选文章