fastlane 自动化打包工具实践

栏目: 服务器 · 发布时间: 5年前

内容简介:最近手里好多项目都是需要打企业版本并上传到fir上去,每次构建版本至少要10分钟,时间长不是最难忍受的,难忍受的是整个过程需要你全程参与,比如选择证书、比如下一步,下一步等,一套搞下来,心累,因此找一个自动化打包工具来节省体力刻不容缓了,求生欲啊,本次我找的工具就是fastlane(docs.fastlane.tools),一款用ruby开发的构建工具,可以自动打包并上传到APPStore,上传到fir,上传到蒲公英,具体过程往下看:确保你的Mac环境有ruby环境,执行ruby-v,查看当前ruby的版本

最近手里好多项目都是需要打企业版本并上传到fir上去,每次构建版本至少要10分钟,时间长不是最难忍受的,难忍受的是整个过程需要你全程参与,比如选择证书、比如下一步,下一步等,一套搞下来,心累,因此找一个自动化打包 工具 来节省体力刻不容缓了,求生欲啊,本次我找的工具就是fastlane(docs.fastlane.tools),一款用 ruby 开发的构建工具,可以自动打包并上传到APPStore,上传到fir,上传到蒲公英,具体过程往下看:

1.首先安装fastlane前的准备工作:

确保你的Mac环境有ruby环境,执行ruby-v,查看当前ruby的版本,如果还没有ruby环境,请自行百度安装,如果你的项目已经使用cocoapod管理第三方包,那么你的mac内就已经安装了ruby环境了,其次我们还需要安装xcode的命令行工具,当然这里不需要自己安装,xcode已经帮我们完成了.

2.正式安装fastlane:

执行sudo gem install fastlane

fastlane 自动化打包工具实践

安装完成后就可以cd到项目目录下:

执行fastlane init

fastlane 自动化打包工具实践

初始化工程中需要你完成一些列选项:

fastlane 自动化打包工具实践

1是自动截图

2是打测试包

3是Appstore上架

4是自定义,

这里我是打包企业版本,选择4,当然所有自定义的包括打企业包、上appstore等都可以自定义脚本来完成.

初始化完成后项目目录下会有fastlane的文件目录:

fastlane 自动化打包工具实践

其中:

Appfile,用于存放AppID和开发者的AppleID,这个文件在我的实践中并没有用到.

Fastfile,用于管理创建的lane,lane则可以调用各个action(即fastlane的工具链)这个文件是核心文件.

Snapfile,用于指定需要进行屏幕截图的设备类型(根据选项生成,可自己创建文件用于配置)

Deliverfile,用于配置发布至appStore的文件(根据选项生成,可自己创建文件用于配置),如果你是选择打包后自动上传到appstore,那么这个文件是必要的,当然也是执行相关命令生成的,后续会提到.

Snapfile和Deliverfile是不会自动生成的,还需要执行其他命令,这个下面有介绍.

这里我只选择了自定义,所以只有前两个文件. 接下来在Fastfile来创建命令,这里构建APP需要使用build_app的action,具体的action介绍自己去看( docs.fastlane.tools/actions ),当前你可以执行, fastlane action xxx ,xxx代表action的名称,比如查看 build_app :

fastlane 自动化打包工具实践
接下来进入本文的重点,如何编写构建脚本

这是具体的脚本,这个脚本是打包企业版本:

desc "企业版本" 
 lane :enterpriseProduction do #自己对当前的lane命名
	build_app( #build_app是打包的action,里面详细的命令请查看https://docs.fastlane.tools/actions/build_app
		workspace:"xxx.xcworkspace",#装有coccoapod的,找到项目的workspace
		scheme:"xxx", #项目命名
		export_method:"enterprise",#导出方式
		output_directory:"./fastlane/package/enterprise",#打包后ipa的存放路径
		output_name:get_build_number()#输出ipa的文件名为当前的build号
		configuration:"Release", #环境
		clean:true #打包前是否需要执行clean	
	   #export_options: { #其他选项,这里手动配置打包的签名证书, 笔者目前都是自动化打包,因此手动打包这一部分并没有去验证,各位有需要的可以自己捣鼓捣鼓
            #provisioningProfiles: { 
               # "com.example.bundleid" => "Provisioning Profile Name",
               #3 "com.example.bundleid2" => "Provisioning Profile Name 2"
     # }
    #}
    )
	#自动上传fir
	firim(firim_api_token:"fir的token")
	#自动上传蒲公英
    pgyer(api_key:"apiKey",user_key:"userkey")
    # add actions here: https://docs.fastlane.tools/actions
  end
复制代码

上面我的执行脚本,这里有个注意点,如果你想写注释请用#开头,笔者之前用//结果各种语法错误,尴尬.笔者一直用的自动化打包方式,fastlane也是默认使用自动化打包,如果你需要手动打包,那么需要配置签名文件等.

编写完成后可以执行打包命令了:

fastlane enterpriseProduction(lane的命名)

执行过程中会build你的整个项目,这中间需要一些时间,打包完成后还需要上传到你们指定的地方去,也是需要时间的,耐心等候.最终:

fastlane 自动化打包工具实践

上面列出了本地打包的耗时458秒.查看下打包出来的目录:

fastlane 自动化打包工具实践

上传到fir或者蒲公英这里笔者暂时是屏蔽掉了.各位需要上传到fir或者蒲公英,那么接着往下看:

1.上传到firim

首先需要安装firim的工具,cd到你的项目目录下, 这里的fir以及蒲公英的工具都必须在项目目录下安装 :

执行fastlane add_plugin firim

fastlane 自动化打包工具实践

这个安装过程还顺带需要安装gem,还需要输入几次密码,照着做就行

安装完成后在fastlane 文件内加上firim(firim_api_token:"fir的token"),如上图,这时你需要获取到你的firim账号上的token,并填写进去:

fastlane 自动化打包工具实践

. 最后再次执行打包命令,整个配置没问题成功后就可以去fir上查看.

2.上传到蒲公英

步骤和fir一致,整个过程中执行的命令不一样而已,你也可以参考蒲公英的文档https://www.pgyer.com/doc/view/fastlane:

首先去项目目录下执行:

fastlane add_plugin pgyer

成功后在fastlane文件内新增:

pgyer(api_key:"apiKey",user_key:"userkey"),其中key去蒲公英上取.

最后执行打包命令,成功后去蒲公英上查看.

以上是企业版本的打包及上传到不同平台的全实践.

接下来讲解的是打包上传到itunes上去:

Fastlane的配置如下:

lane:Appstore do
   build_app(
   	workspace:"xxx.xcworkspace",
   	scheme:"xxx",
   	export_method:"app-store",#这里填appstor
   	output_directory:"./fastlane/package/appstore",#打包后的路径,自己随意
   	configuration:"Release",
   	clean:true	
   	)
   upload_to_app_store( #上传appstore的配置
   	app_identifier:"com.creator.pro.eamp",#bundle Id
   	username:"yaqian.tang@chinacreator.com",#apple Id
   	ipa:"./fastlane/package/appstore/xxx.ipa", #和output_directory的路径对应
   	skip_screenshots:true,
   	skip_app_version_update:false,
   	submit_for_review:false, 
   	reject_if_possible:true,
   	skip_metadata:true
   )
  	
   # add actions here: https://docs.fastlane.tools/actions
 end
复制代码

执行打包命令后,会一步一步要你填写 apple ID及密码,如实填写就行,当然还需要先执行deliver init ,来初始化Deliverfile、screenshots和metadata,这包含了app的截图、icon等一些基础数据,如果你的APP以及在itunes上初始化完成了,那么执行deliver init,就可以把app的相关信息都下载下来,如下,自己去对应的文件夹下看详细内容:

fastlane 自动化打包工具实践

你选择自定义的时候是不会自动给你生成的,你选择3上传到appstore,则是可以自动生成,当然你上架app的第一个版本的信息初始化可以选择完全由fastlane来构建,笔者这里暂时不去探究fastlane中app在itunes上的初始化过程,我个人的建议是自己去itunes上生成app的第一个版本,后续版本的迭代使用fastlane,那样就只需要关心ipa包的上传.

终于写完了,倒腾了一天,整套下来确实是节省了许多打包的时间,心情也好了,开心,学会用好工具也是必修课.


以上所述就是小编给大家介绍的《fastlane 自动化打包工具实践》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

爱上Arduino

爱上Arduino

Massimo Banzi / 于欣龙、郭浩赟 / 人民邮电出版社 / 2012-10 / 38.00元

《硬件开源电子设计平台:爱上Arduino(第2版)》全面透彻地介绍了arduino的相关内容,它会给你带来许多项目的点子,并帮助你顺利地实现从开始策划直到完成安装的全过程。由于《硬件开源电子设计平台:爱上Arduino(第2版)》是arduino项目合作创始人massimobanzi所著,其中一定融入了创始人对开源硬件的独到见解。《硬件开源电子设计平台:爱上Arduino(第2版)》内容完全考虑......一起来看看 《爱上Arduino》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具