作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
弗朗西斯科·雷诺兹的头像

Francisco Reynolds

Francisco是一位在iOS和Node方面拥有丰富经验的技术领导者.Js,以及web项目开发.

Expertise

Previously At

Cookunity
Share

为iOS开发软件不仅仅是编写Objective-C或Swift代码:它还包括了解UIKit的工作原理, 证书是如何制作的, 如何将应用发布到商店, 如何处理应用评论, and more. 如果你觉得这个没完没了的任务列表很累,那么在你的工作流程中加入一些自动化正是你所需要的.

Meet Fastlane,该工具旨在为您在每次部署中节省几分钟甚至几小时.

使用《欧博体育app下载》iOS实现交付自动化

Fastlane可以帮助你自动化向Crashlytics发送测试版本的过程, TestFlight, the App Store, and much more.

In this article, 您将学习如何使用Fastlane自动化iOS应用程序部署工作流. 尽管我们将重点放在这个工具的iOS方面, Fastlane同样适用于Android开发自动化.

《快速通道入门

有几种安装方法可供您选择, 看你觉得什么最简单. If you have Homebrew 安装和配置Fastlane只需要一个命令:

酿酒桶安装快车道

否则,Fastlane作为一个基于ruby的工具, gem is always an option:

sudo gem install fastlane -NV

或者,你也可以从 official website.

一旦你安装了Fastlane,运行 fastlane init 在您的项目目录中,并按照说明操作.

自动化部署

安装Fastlane后, 现在,您可以编写Ruby脚本来一步一步地指示您需要做些什么才能使您的部署达到您想要的位置. 这是通过动作、工具和通道完成的.

快速通道工具、动作和插件

《欧博体育app下载》的核心工具能够帮助你构建应用. 在构建工具之上, 有超过170个内置集成服务,如Crashlytics, HockeyApp, TestFlight, 还有更多第三方制作和发布的插件,这样你就可以连接到其他服务等等.

At its core, 你会得到主要的工具,让你做各种各样的任务:从自动截图到将它们框起来并上传到商店, 它让你在构建应用程序之前自动运行所有测试.

Actions 《欧博体育app下载》的核心工具是什么, 和插件是一种添加第三方操作到你的Fastlane设置的方法.

Lanes

《欧博体育app下载》使用的车道基本上是将一系列行动或插件按顺序分组,这样你每次都可以获得相同的结果.

When running a lane, 每个操作将导出一个环境变量, 下面的操作将自动获取这些变量以保持流程继续进行. 例如,使用 gym 操作将导致的路径 .ipa 文件正在生成,并使用 crashlytics will access this .ipa 上传此文件到beta服务分发系统的位置.

在iOS平台上使用《欧博体育app下载》

您从一个新的Toptal客户开始,他想要一个非常简单的应用程序. 设计已经完成,应用程序可以在几周内编码. 下一步是开始编写代码, 在迭代过程中, 你要每隔几周向客户发送一个测试应用,这样他们就可以看到你的进展,并向你反馈情况.

每次你给客户发送一个测试版, 你将通过一个基本的检查表:签署应用程序, 把它上传到测试服务, 向它添加新版本, etc. 除此之外,您还必须做一次(每年):签署证书, 签署推送通知证书(如果需要), and more.

在《欧博体育app下载》中,所有这些都可以自动发生!

发送到Crashlytics Beta

For example, 你需要创建签名证书和配置文件,通过Crashlytics Beta共享你的应用.

Fastlane有一个动作叫做 match 一旦你设置好它,它会做以下事情:

  1. 创建分发签名证书.
  2. 创建一个临时配置文件(附加到#1中的证书上).
  3. 将#1和#2中的证书和配置文件保存到使用OpenSSL加密的Git存储库中.

The setup is simple.

First, run fastlane match init 来开始,一旦你设置了你的Git仓库,只需调用 fastlane match adhoc 获取临时配置文件或运行 快车道匹配appstore 获取App Store证书.

Advantages of using match 您是否可以很容易地在计算机之间和团队成员之间同步证书,而不必再撤销证书, 以及你获得的速度. Just running 快车道匹配appstore 几秒钟后就会给你一个证书.

好了,现在我们有了所需的证书和配置,让我们发布到Crashlytics.

将应用提交到Fabric的Crashlytics的典型工作流程包括以下步骤:

  1. 创建分发签名证书.
  2. 创建一个临时配置文件(附加到#1中的证书上).
  3. 设置您的应用程序以使用#2中的配置文件.
  4. Archive your app.
  5. 打开Fabric并按照步骤将应用程序发送给beta测试者.

《欧博体育app下载》用以下内容取代了这一苦差事:

platform :ios do
  lane :beta do
    匹配(类型:“特别的”)
    gym
    crashlytics
  end
end

Now, running fastlane beta 从您的终端将启动此脚本.

This will first call match, 处理创建和更新签名证书和配置文件的操作, then call gym, 一个为你构建和打包应用的动作, 使用之前创建的相同证书和配置文件, and finally, crashlytics也就是把这个带符号 .ipa 并将其上传到Crashlytics服务.

所有这些步骤都会被调用, always, in the same order, 使生成的文件更可预测并减少错误.

MacBook-Pro:TestProject用户$ fastlane beta

+------+-------------------------------------+-------------+
快车道总结
+------+-------------------------------------+-------------+
|步骤|动作|时间(单位:秒)|
+------+-------------------------------------+-------------+
| 1 |验证所需快速通道版本| 0 |
b| |匹配| 57 |
b| |健身房| 592 |
bbbb4 b|崩溃分析| 195 |
+------+-------------------------------------+-------------+

[20:25:13]: fastlane.工具帮你节省了14分钟! 🎉

这就是如何运行《欧博体育app下载》并将应用发送给Crashlytics的基本设置. 我们还能自动化什么?

增量构建版本

We can, for example, 设置每次我们都会发送一个测试版, 我们希望增加构建版本号.

这可以通过调用 increment_build_number 可以通过终端调用 快车道运行increment_build_number 或者在我们的beta通道内使用:

platform :ios do
  lane :beta do
    increment_build_number
    匹配(类型:“特别的”)
    gym
    crashlytics
  end
end

Congratulations! 现在您有了一个自动部署脚本,它也增加了您的构建版本号. 唯一的警告是, 一旦你叫这条车道, 您将在项目(或, at least, 包含构建号的那些).

以防您打算将更改提交到存储库, 这里有一个动作: commit_version_bump. 此操作提交带有新版本号的文件.

platform :ios do
  lane :beta do
    increment_build_number
    match(type: "adhoc")
    gym
    crashlytics
    commit_version_bump(
     xcodeproj:"myProject.xcodeproj",
   )
  end
end

这将在提交文件时显示“Version Bump to 27”这样的提交信息。.

Crashlytics到TestFlight

Well, if you got this far, 你可以在很短的时间内自动部署到Crashlytics,从长远来看,这将节省你无数的时间. 最棒的是, 如果你想把你的应用发送到TestFlight, 你所需要做的就是改变 crashlytics to pilot.

或者,您可以为此创建一个单独的通道:

platform :ios do
  雷恩:测试用的
    increment_build_number
    match(type: "adhoc")
    gym
    pilot
    commit_version_bump(
     xcodeproj:"myProject.xcodeproj",
   )
  end
end

iOS自动化变得简单

Fastlane简单易用. 但是,它给你的日常生活带来了惊人的价值 iOS development 工作流可以节省你做一些琐碎的事情,节省你本来会浪费的时间.

我希望你会觉得这篇关于快速车道的介绍很有用. 你可以看看 官方文档 了解更多关于Fastlane的信息,尤其是 actions 如果你正在寻找一些关于你当前和下一个iOS项目可以自动化的灵感.

了解基本知识

  • What is Fastlane?

    Fastlane是一款为iOS和Android应用自动发布和交付工作流程的工具.

  • 如何安装Fastlane?

    在终端运行“酿酒桶安装快车道”或从http://download下载安装程序.fastlane.tools/

聘请Toptal这方面的专家.
Hire Now
弗朗西斯科·雷诺兹的头像
Francisco Reynolds

Located in 布宜诺斯艾利斯,阿根廷

Member since December 8, 2016

About the author

Francisco是一位在iOS和Node方面拥有丰富经验的技术领导者.Js,以及web项目开发.

Toptal作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.

Expertise

Previously At

Cookunity

世界级的文章,每周发一次.

订阅意味着同意我们的 privacy policy

世界级的文章,每周发一次.

订阅意味着同意我们的 privacy policy

Toptal Developers

Join the Toptal® community.