Fastlane使用说明

Android自动化打包发布到Fir.im(基于官方教程)

前序

在网上看到一些fastlane的教程大部分都是发布到蒲公英中,个人不是很喜欢蒲公英广告太多之前下载量也少得可怜,于是自己根据官方教程,经历多次失败后整理一份发布fir.im教程,欢迎指正😁

1. 安装快速通道

a. Ruby环境+Bundler(MacOS / Linux / Windows),如果使用macOS,则不建议直接使用系统Ruby,建议直接使用brew直接进行安装
b. MacOS 可以使用

brew install fastlane

2. 安装快速通道

终端CD到项目根目录/AS点击TerMinal并运行

fastlane init

系统会要求您确认您已准备好开始,然后再提供一些信息。快速入门:

  1. 在询问时提供您的应用程序的软件包名称(例如io.fabric.yourapp)※ 这个步骤不小心按快了也没关系,可以在Appfile中重新定义,或者说这个对于国内不上谷歌商店的来说应该不重要(我是这么理解的)
  2. 当询问您的json机密文件的路径时,按Enter键
  3. 当系统询问您是否打算通过快速通道将信息上传到Google Play时,请回答“ n”(我们可以稍后进行设置)

就是这样!fastlane将根据提供的信息自动为您生成配置。

您可以看到新创建的./fastlane目录,其中包含以下文件:

  • Appfile 它定义了应用程序全局的配置信息
  • Fastfile它定义了驱动器的行为的“通道” FASTLANE

image.png
(不需要在意actions文件夹,除非咱们想自定义action)

3. 配置Fir.im(基于Fir的Github教程)

  1. 在上一步初始化配置fastlane的项目位置中运行
fastlane add_plugin fir_cli

里面已经内置 fir-cli 这个gem, 直接在fastlane 中直接将文件上传到 fir.im

会在Pluginfile文件中多出
image.png

  1. 需要在fir网站中进行登录拿到自己的APIToken
    image.png
  2. 在Fastfile文件中可以看到有
image.png
  1. 其他类型暂时先不考虑,按例咱们可以编写gofir 的运行方法,注意 运行体要结束要跟随end
lane :gofir do  
puts "FastLane start goFir~~~" end

这样一个运行体就写好了,那咱们该如何使用呢

只要在当前项目所在命令行中运行

fastlane gofir

即可

  1. 运行体写好了,现在咱们开始编写运行内真实内容
# 多渠道环境  
      gradle( 
        task: 'assemble',  # gradle 任务栈 不需要多解释
        # 这个风味指的是多渠道打包才必须需要配置的, 
        # 否则会找不到具体生成后文件,没有多渠道需求可以不写 
        flavor: 'xinyixy_shaanxi', 
        # 编译类型 不需要多解释 
        build_type: 'Release'     
        )

# 单渠道环境 
     gradle(task: 'assemble', build_type: 'Release') 
  1. 是不是会犯愁发布应用时候版本更新说明要如何写?
# 所以咱们可以直接采用最新的git提交记录来充当版本说明 
changelog_from_git_commits(commits_count: 1, merge_commit_filtering: "exclude_merges")
  1. 发布
 fir_cli api_token: "xxxxxxxxxxxxxxx", # 之前在fir中拿到的APIToken
 # 得到当前编译后生成的apk路径 
 specify_file_path: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH],  
 # git最新提交日志说明
 changelog: lane_context[SharedValues::FL_CHANGELOG]  

 OK 大功告成~
  1. 看一下完整的
fastlane_version "2.68.2"   
default_platform :android   
platform :android do   
    lane :gofir do  
        gradle( 
          task: 'assemble', 
          flavor: 'xinyixy_shaanxi', 
          build_type: 'Release' 
          )

  changelog_from_git_commits(commits_count: 1, merge_commit_filtering: "exclude_merges")  

  fir_cli api_token: "xxxxxxxx",
  specify_file_path:   lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], 
  changelog: lane_context[SharedValues::FL_CHANGELOG]  

 end

end 

4. 结束语

这样发布到fir就完成了,fastlane同时还支持调用脚本 可以调用 sh 这样咱们不写action也可以通过sh实现一些自己想要的功能,例如发布完成后发送邮件给测试人员,告知领导任务完成了~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容