Caolongjian

个人站

欢迎来到我的个人站~


Fastlane

简介

fastlane是为iOS和Android应用程序自动化测试版部署和发布的最简单方法。🚀它处理所有繁琐的任务,例如生成屏幕截图,处理代码签名以及发布应用程序。

您可以从Fastfile存储库中创建一个文件开始,这里定义了您的测试版或App Store发布过程:

lane :beta do
  increment_build_number
  build_app
  upload_to_testflight
end

lane :release do
  capture_screenshots
  build_app                 
  upload_to_app_store       # Upload the screenshots and the binary to iTunes
  slack                     # Let your team-mates know the new version is live
end
gym         # alias for "build_ios_app"
build_app   # alias for "build_ios_app"

您只定义了2个不同的通道,一个用于测试版部署,另一个用于App Store。要在App Store中发布你的应用程序,你所要做的就是

fastlane release

安装使用fastlane

  • 确保安装了最新版本的Xcode命令行工具:

      xcode-select --install
    
  • 使用安装fastlane

      [sudo] gem install fastlane -NV 
    
  • 导航到您的iOS或Android应用程序并运行

      fastlane init
        
      注:(对于Swift安装:fastlane init swift)
    

安装fastlane根据提示信息填写相关信息即可,生成如下文件目录: image.png

  • Appfile => 是用来存储一些公共信息的, 比如app_identifier,apple_id,team_id,itc_team_id等 Appfile帮助

  • Deliverfile => deliver的配置文件 Deliverfile帮助

  • Fastfile,其中包含分发您的应用程序所需的所有信息。是最重要的一个文件,在这个里面可以编写和定制我们的自动化脚本,所有的流程控制功能都写在这个文件里面。Fastfile帮助

配置效果

image.png

increment_build_number_in_plist 需安装插件 fastlane-plugin-versioning

插件

Fastlane的插件是一个或者一组action的打包,单独发布在fastlane之外。Fastlane Plugin 指南

  • 查看所有插件:

      fastlane search_plugins
    
  • 安装插件

    fastlane add_plugin [插件名称]
    
    如:fastlane add_plugin versioning

环境变量Environment Variables

有时候我们希望把账号信息、更新描述和版本号等信息单独放在一个配置文件。在这里Fastlane给我们提供了相应的解决方案。

我们可以在工程目录下创建一个名为 .env 的文件,自定义所需的临时变量,然后Fastlane的三个配置文件(AppfileDeliverfileFastfile)分别从.env文件中读取配置信息

更多信息查看fastlane文档

其他 (辅助命令查看)

1.0 fastlane actions

fastlane actions: 列出所有的 fastlane 的 actions,可以看到 fastlane 支持的所有 action image.png

1.1 fastlane action [name]

fastlane action [name] 显示某一个特定的 action 的详细配置

例如:fastlane action gym image.png

2.0 fastlane lanes

fastlane lanes: 列出所有的可用的 lane 及其描述。
这里显示的就是你的 Fastfile 里面定义的所有 lane

2.1 fastlane list

fastlane list: 显示所有的 lane,但是不显示描述。

参考

  1. 更多信息请参看官方网站fastlane docs
  2. iOS中fastlane的使用
  3. Fastlane带来的全自动化发布

#文章目录 [TOC]