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:0814063
用户头像

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

关注

评论

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

DevUI开源经验分享:从0到1开始运营你的开源项目

华为云开发者联盟

开源 华为云 企业号十月 PK 榜

AI 模型编译器 MegCC 开源,解决推理引擎体积问题

MegEngineBot

深度学习 开源 MegEngine MegCC AI 模型编译器

React源码解读之更新的创建

flyzz177

React

代码质量与安全 | 想在发布竞赛中胜出?Sonar来帮你

龙智—DevSecOps解决方案

代码质量 代码安全

2022年中国汽车OTA行业发展洞察

易观分析

汽车 OTA

vue2项目搭建-使用VUE CLI3.0搭建项目vue2+scss+element简易版

肥晨

脚手架 11月月更 vue2项目搭建

梁胜博士:软件供应链安全两手抓,既要安全左移也要全链路防护丨活动回顾

SEAL安全

DevOps DevSecOps 软件供应链 安全左移 软件供应链安全

谈谈企业级前端应用中客户端渲染和服务器端渲染的区别

汪子熙

前端开发 SSR SAP Spartacus 11月月更

如何准备好一场vue面试

bb_xiaxia1998

Vue

vue面试之Composition-API响应式包装对象原理

bb_xiaxia1998

Vue

vue这些原理你都知道吗?(面试版)

bb_xiaxia1998

Vue

什么是 HTML 语义化,有什么好处

肥晨

11月月更 HTML语义化 语义化标签

专业移动办公解决方案!远程控制软件RayLink内测火热进行中!

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

我把分布式音乐播放器适配了Stage模型

OpenHarmony开发者

OpenHarmony

万字详解JVM,让你一文吃透

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

HDC 2022精彩继续,多重亮点进来看!

HarmonyOS开发者

HarmonyOS

业界首个!快手提出亿级别多模态短视频百科体系——快知Kuaipedia

Geek老T

短视频 快手 泛知识

docker-compose下的java应用启动顺序两部曲之一:问题分析

程序员欣宸

Java Docker Docker-compose 11月月更

分享10个降低PCB成本的技巧!可收藏

华秋PCB

PCB PCB打样 PCB设计

认证升级 | 秒云再次获评软件企业认证

MIAOYUN

双软认证 软件企业认证 软件产品认证

谈谈vue面试那些题

bb_xiaxia1998

Vue

安防小间距LED显示屏的解决方案是什么

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

从零开始实现一个Promise

helloworld1024fd

JavaScript

EMQ荣获“2022中国移动创客马拉松OneOS物联网专题赛”三等奖

EMQ映云科技

物联网 IoT emqx 云边协同 车路协同

react hook 源码完全解读

flyzz177

React

React源码解读之任务调度

flyzz177

React

【GitHub60K+Star】12W字Java后端技术总结,助力2023年春招

程序知音

程序员 java面试 面试技巧 后端技术 Java面试八股文

从零手写react-router

helloworld1024fd

JavaScript

一文总结JavaScript手写面试题

helloworld1024fd

JavaScript

那些年面挂的js手写题

helloworld1024fd

JavaScript

软件测试面试真题 |你用过哪些用例设计方法?

测试人

软件测试 面试题 测试用例

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