fastlane 自动化打包工具实践

最近手里好多项目都是需要打企业版本并上传到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

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

执行fastlane init

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

1是自动截图

2是打测试包

3是Appstore上架

4是自定义,

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

初始化完成后项目目录下会有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:

接下来进入本文的重点,如何编写构建脚本 这是具体的脚本,这个脚本是打包企业版本:

 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:"123"#输出ipa,可以完全不设置
		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你的整个项目,这中间需要一些时间,打包完成后还需要上传到你们指定的地方去,也是需要时间的,耐心等候.最终:

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

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

1.上传到firim

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

执行fastlane add_plugin firim

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

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

. 最后再次执行打包命令,整个配置没问题成功后就可以去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的相关信息都下载下来,如下,自己去对应的文件夹下看详细内容:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值