区块链开发、区块链商城网站建设、区块链应用系统、物联网系统、数字货币交易系统、金融理财系统、汽车金融系统

Fastlane:Cruise Control上的iOS自动化

时间:2019-01-16 浏览:

为iOS制作软件不仅仅是编写Objective-C或Swift代码:它涉及了解UIKit如何工作,如何制作证书,如何将应用程序发布到商店,如何处理应用程序评论等等。如果您觉得这个永恒的任务列表很累人,那么工作流程中的一些自动化就是您所需要的。

遇见Fastlane,这个工具旨在为您节省每个部署几分钟甚至几个小时。

使用Fastlane iOS进行交付自动化

Fastlane可帮助您自动完成向Crashlytics,T​​estFlight,App Store等发送beta版本的过程。

在本文中,您将学习如何使用Fastlane自动化iOS应用程序部署工作流程。虽然我们将专注于此工具的iOS方面,但Fastlane同样适用于Android开发自动化。

Fastlane入门

您可以选择几种安装方法,具体取决于您最容易找到的方法。如果您已安装并配置了Homebrew,则安装Fastlane只需一个命令:

brew cask install fastlane

否则,Fastlane是一个基于Ruby的工具,gem总是一个选项:

sudo gem install fastlane -NV

或者,您可以随时从官方网站下载Fastlane 

安装Fastlane后,fastlane init在项目目录中运行并按照说明操作。

部署自动化

安装Fastlane后,您现在可以编写Ruby脚本,逐步指示您需要执行的操作,以便在您希望的位置进行部署。这是使用动作,工具和通道完成的。

Fastlane工具,操作和插件

Fastlane的核心工具是帮助您构建应用程序。在构建工具之上,有超过170种内置集成,包括Crashlytics,HockeyApp,TestFlight等服务,以及第三方制作和发布的更多插件,因此您可以连接到其他服务等等。

从本质上讲,您可以获得可以执行各种任务的主要工具:从自动截屏到框架并将其上传到商店,它可以让您在构建应用程序之前自动运行所有测试。

操作是Fastlane的核心工具,插件是一种向Fastlane设置添加第三方操作的方法。

车道

Fastlane使用基本上按顺序对动作或插件列表进行分组的通道,这样您每次都可以获得相同的结果。

运行通道时,每个操作都将导出一个环境变量,以下操作将自动获取这些变量以保持进程。例如,使用该gym操作将导致.ipa生成文件的路径,并且使用crashlytics将访问此.ipa位置以将此文件上载到其beta服务分发系统。

在iOS上使用Fastlane

您将从一个想要一个非常简单的应用程序的新Toptal客户开始。设计已经完成,应用程序可以在几周内编码。下一步是开始编码,在迭代过程中,您将每隔几周向客户发送一个测试版应用程序,以便他们可以看到您的进度并向您提供有关工作方式的反馈。

每次向客户端发送测试版时,您都会查看基本清单:签署应用程序,将其上传到测试版服务,向其添加新版本等。添加您需要做的事情一次(每年):签署证书,签署推送通知证书(如果需要)等。

使用Fastlane,所有这些现在都可以自动发生!

发送到Crashlytics Beta

例如,您需要创建签名证书和配置文件以通过Crashlytics Beta共享您的应用程序。

Fastlane有一个名为的动作match,一旦你设置它,执行以下操作:

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

设置很简单。

首先,运行fastlane match init开始,一旦设置了Git仓库,只需调用fastlane match adhoc获取临时配置文件或运行fastlane match appstore以获取App Store证书。

使用的优点match是您可以非常轻松地在计算机之间和队友之间同步证书,而无需再撤销证书,以及您获得的速度。刚刚运行fastlane match appstore会在几秒钟内为您提供证书。

那么,现在我们有了我们需要的证书和配置,让我们向Crashlytics发布。

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

  1. 创建分发签名证书。
  2. 创建临时配置文件(附加到#1的证书)。
  3. 将您的应用设置为使用#2中的配置文件。
  4. 存档您的应用。
  5. 打开Fabric并按照步骤将应用程序发送给beta测试人员。

Fastlane用这个代替了家务:

platform :ios do
  lane :beta do
    match(type: “adhoc”)
    gym
    crashlytics
  end
end

现在,fastlane beta从终端运行将启动此脚本。

这将首先调用match一个处理创建和更新签名证书和配置文件的操作,然后调用gym一个为您构建和打包应用程序的操作,使用之前创建的相同证书和配置文件,最后crashlytics,这将采取签名.ipa并将其上传到Crashlytics服务。

所有这些步骤始终以相同的顺序被调用,从而使得到的文件更具可预测性并减少错误。

MacBook-Pro:TestProject user$ fastlane beta

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | match                               | 57          |
| 3    | gym                                 | 592         |
| 4    | crashlytics                         | 195         |
+------+-------------------------------------+-------------+

[20:25:13]: fastlane.tools just saved you 14 minutes! ????

这是如何运行Fastlane将您的应用程序发送到Crashlytics的基本设置。我们还能自动化什么?

 
 
 
 

增加构建版本

例如,我们可以设置每次我们要发送测试版时,我们都希望增加构建版本号。

这可以通过一个increment_build_number被调用的动作来实现,该动作可以从终端调用fastlane run increment_build_number或在我们的beta版本中内联使用:

platform :ios do
  lane :beta do
    increment_build_number
    match(type: “adhoc”)
    gym
    crashlytics
  end
end

恭喜!您现在拥有一个自动部署脚本,该脚本也会增加您的构建版本号。唯一需要注意的是,一旦调用此通道,您将在项目中更改文件(或者至少包含构建编号的文件)。

如果您计划将更改提交到存储库,则可以执行以下操作: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

好吧,如果你到目前为止,你可以在很短的时间内自动部署到Crashlytics,从长远来看,这将为你节省无数个小时。关于它的最好的部分是,如果你想将你的应用程序发送到TestFlight,你需要做的只是crashlytics改为pilot

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

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

iOS自动化变得简单

Fastlane简单易用。但是,它为您的常规iOS开发工作流程带来了惊人的价值,它可以帮助您避免做一些琐碎的事情和几小时的浪费。

我希望你会发现Fastlane的这个介绍很有用。您可以查看官方文档以了解有关Fastlane的更多信息,特别是如果您正在寻找关于您可以为当前和下一个iOS项目自动化的内容的一些灵感操作列表


文章来源:紫隆科技
在线客服
热线电话
客服微信

紫隆科技2年服务500余家企业/单位!
联系电话 :15915385361
紫隆科技