iOS 使用fastlane 实现测试包自动化打包+上传

1.安装fastlane,sudo gem install fastlane -NV,如果没有安装ruby环境,还要安装ruby环境,具体过程不再赘述

2.安装完成之后,在工程目录下使用命令行:fastlane init 进行初始化

3.初始化完成后,工程目录下回多出一个文件夹:fastlane

4.使用命令行安装fir插件和蒲公英插件:fastlane add_plugin firim / fastlane add_plugin firim pgyer

5.打开其中的fastfile文件,进行配置:


desc "正式环境测试版"

lane :formality_bate do |op|#op 可传入参数

increment_version_number(version_number: op[:vnum])#vnum 是参数名,命令行调用的时候输入的参数名,设置version版本

increment_build_number(build_number: op[:bnum])#设置build版本

set_info_plist_value(path: "./项目名称/.plist",#设置plist,此处传入plist路径,可以用来做环境配置

                                    key: "isTest",

                                 value: false)

gym(#打包

scheme: "项目名称",

export_method: "ad-hoc",#打包所选的种类(就是App Store,生产测试,企业,开发测试那四种), app-store,ad-hoc,enterprise,development

output_directory: "此处填写ipa存放路径",

output_name: "文件名.ipa",

export_xcargs: "-allowProvisioningUpdates"

)

firim(firim_api_token: "此处填写fir的用户token")#上传fir,如果是新项目,fir会自动创建

end

desc "测试环境测试版"

lane :test_bate do |op|

increment_version_number(version_number: op[:vnum])

increment_build_number(build_number: op[:bnum])

set_info_plist_value(path: "./项目名称/HostAddress.plist",

                                    key: "isTest",

                                 value: true)

gym(

scheme: "项目名称", 

export_method: "ad-hoc",#打包所选的种类(就是App Store,生产测试,企业,开发测试那四种), app-store,ad-hoc,enterprise,development

output_directory: "此处填写ipa存放路径",

output_name: "文件名.ipa",

export_xcargs: "-allowProvisioningUpdates"

)

pgyer(api_key: "蒲公英账户下自行查看", user_key: "蒲公英账户下自行查看", update_description: op[:desc])#上传蒲公英,如果是新项目,蒲公英会自行创建,update_description:描述

end

desc "双打"#此lane 为将两个lane 封装,一次调用(不知道可不可以优化成同时调用,目前是串行队列,但是还要考虑打包的过程是否可以并发)

lane :all_bate do |op|

vnumber = op[:vnum]

bnumber = op[:bnum]

descstr = op[:desc]

formality_bate(vnum:vnumber, bnum:bnumber)

test_bate(vnum:vnumber, bnum:bnumber, desc:descstr)

end


6.填坑:

1)语法错误:lane名称后面的(,必须紧靠名称,参数名称后面的:,必须紧靠参数名  每个lane都以end 结尾

2)证书错误:查看自己的证书配置是否与export_method 匹配

3)报错如下时:说明设置工程build版本号失败,此时在工程的build setting中搜索current project version,并手动赋值,进行初始化,再重新调用打包命令就ok了。

iOS 使用fastlane 实现测试包自动化打包+上传_第1张图片

4)因fastlane bundler版本问题导致error时,可以使用gem install bundler进行更新。

7.调用

1)命令行cd 到项目目录下(就是fastlane init的目录)

2)调用:fastlane all_bate vnum:9.9.9 bnum:99 desc:测试一下

3)等待完成吧~具体过程都有日志,可以查看每一步的完成情况,如果全都success的话,去网站查看二维码吧~ps:同一个二维码对应同一个安装包,但是链接只会连接到最新上传的安装包

8.相关链接:

1)https://github.com/fastlane/fastlane    fastlane的github地址,1w8+的星,仰慕ing

2)https://docs.fastlane.tools   fastlane语法,命令详细说明

你可能感兴趣的:(iOS 使用fastlane 实现测试包自动化打包+上传)