Fastlane为iOS带来持续部署
Fastlane是一组工具套件,旨在实现iOS应用发布流程的自动化,并且提供一个运行良好的持续部署流程,只需要运行一个简单的命令就可以触发这个流程。
Fastlane是一个ruby脚本集合,其中囊括了向苹果商店提交新应用或更新已有应用所需要的最常用任务。
- deliver用于上传应用的二进制代码,应用截屏和原数据到应用商店
- snapshot可以自动化iOS应用在每个设备上的本地化截屏过程
- frameit用于在应用截屏外添加设备框架
- PEM可以自动化地生成和更新应用推送通知描述文件
- sigh可以生成并下载开发者的应用商店配置文件
这个套件支持与Jenkins和CocoaPods,xctools等其他第三方工具的集成,并且能够定义多个通道(lanes)以支持不同的部署目标,如应用商店,Beta测试和测试。
fastlane典型的工作流程如下:
lane :appstore doincrement_build_numbercocoapodsxctoolsnapshotsighdeliverframeitsh "./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
转载于:https://www.cnblogs.com/On1Key/p/5591478.html
Fastlane为iOS带来持续部署相关推荐
- 使用 fastlane 实现 iOS 持续集成
使用 fastlane 实现 iOS 持续集成 2015-09-16 09:06 编辑: suiling 分类:iOS开发 来源:everettjf 0 3494 iOSfastlane持续集成 招 ...
- iOS架构篇-5 CI/CD(持续集成、持续交付、持续部署)
iOS架构篇-5 CI/CD(持续集成.持续交付.持续部署) CI CI是指持续集成,代码的更新会定期自动构建.测试并合并到公共仓库中,方便多分支时解决冲突问题 CD CD是指持续交付和/或持续部署, ...
- 【万字好文】一文看懂持续部署按需发布!DevOps部署和发布方法大全
云妹导读: 敏捷DevOps的一个主要目的是要达成持续的最短的周期进行价值交付,这就离不开快速的部署和发布.那么问题就来了,部署和发布到底是一个概念还是不同的概念?有哪些常见的部署和发布策略?本文将会 ...
- Docker持续部署图文详解
2019独角兽企业重金招聘Python工程师标准>>> Docker持续部署图文详解 博客分类: docker 架构 JAVA项目如何通过Docker实现持续部署(只需简单四步),即 ...
- CI Weekly #7 | Instgram/Quora 等大公司如何做持续部署?
终于,你们期待的 flow.ci iOS 项目持续集成 开始公测了.在这几个工作日, flow.ci 做了些许「功能优化」与「问题修复」,性能和体验都在持续优化中.比如: iOS 快速入门文档更新: ...
- svn增量打包部署_持续集成、持续交付、持续部署(CI/CD)简介
>>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 概述: 软件开发周期中需要一些 ...
- 【Jenkins】持续集成、持续交付与持续部署
持续集成.持续交付与持续部署,都是软件开发过程中的很好的实践. 一.持续部署 装修厨房 全部装好之后发现灯不亮,电路有问题:冷热水装反了,管路有问题.这些问题要解决就必须把地砖.墙砖拆掉--一个环节有 ...
- 持续集成持续部署持续交付_如何开始进行持续集成
持续集成持续部署持续交付 Everything you need to know to get started with continuous integration: branching strat ...
- CI Weekly #11 | 微服务场景下的自动化测试与持续部署
又一周过去了,最近我们的工程师正在搞一个"大事情" --「flow.ci 配置文件」,稍微剧透一下,这个功能预计会在春节前上线.详情请大家关注 flow.ci Changelog ...
最新文章
- PornHub:修复百年前情色电影
- C#取整函数Math.Round、Math.Ceiling和Math.Floor
- iPad+MacBook+安卓手机的图书馆工作方案!超高效率!堪比移动工作站!
- 深度探索推荐系统算法在工业界如何应用
- C/C++ VS中调用matlab函数的方法
- 微软自夸Edge浏览器的电源效率
- guava 之 ImmutableMap 使用实例及好处
- 从零开始学习python编程-从零开始学python编程一:首行代码
- 基础服务系列-Hyper-V 安装centos7
- 《人人都是产品经理》读后小结
- 关闭VS2019和VAssistX的导航栏
- c语言开根号不用math,c语言sqrt求平方根 该函数头文件:math.h;
- php里日期转为时间戳_php时间戳与日期的转换
- Android程序崩溃处理
- Android单元测试的步骤
- python智力问答游戏_Python语言编写智力问答小游戏功能
- 优课在线C语言作业3,2018春C语言程序设计(苏小红)
- Java环境搭建(一次性)
- adb 由于目标计算机积极拒绝,无法连接。 (10061)
- 中原算力中心|在郑启航
热门文章
- html5超高分辨率,在这里,让你看懂超高分辨率FT-ICR MS
- java单元测试面试,Java必备!JUnit面试题和答案汇总
- SpringMVC从Controller跳转到另一个Controller
- s3c2440第一个裸奔程序——跑马灯(转)
- idea高效找出全部未被使用的代码
- 云原生持续交付的模式和实践
- 每日一道shell练习(09)——sed处理
- 如何配置CentOS或者RedHat5.X、6.X、7.X的网络yum源
- linux下用gtk+写比赛赌博GUI小游戏
- Javascript实现返回上一页面并刷新