apphoster —— 一个Fastlane插件打包完成后自动上传App到app-host 内测分发服务器

1,444 阅读2分钟

apphoster —— 一个Fastlane插件打包完成后自动上传App到app-host 内测分发服务器(由于安卓打包途径众多,目前只支持iOS,ipa格式包,有需要可联系我,后期补充)

app-host传送门

前言

由于前段时间蒲公英事件,公司iOS内测分发(主要用于测试人员安装测试应用),公司iOS应用被误封,需要提供各种证件才允许解封,所以萌生了自己搭建一个内测服务器的想法,iOS内测服务器主要使用苹果自身的item-services协议进行safari安装,捣鼓一番后已经可以安装,由于本人不善网页搭建做出来比较糙,机缘巧合看到了github上有开源了一整套内测分发服务器app-host传送门(原理大概就是上传ipa包到服务器,完成后,通过代码解析出包里面的icon等信息,然后组装item-services的plist文件,搭建一个简单的网页点击按钮就触发事件。

事情就这么完美的解决了,但是由于本人原本打包也是用fastlane + pgyer插件 一键上传,虽然app-host也提供了curl方法命令后上传,但始终不太完美,所以就萌生了自己做一个fastlane插件 直接像蒲公英一样整合到fastlane,打包完成立即上传,整个过程不需人工的干预。

使用提前

使用的是 mac 系统

已经安装好 ruby、rubygems、bundler

已经安装了 Fastlane,已经使用fastlane或准备用fastlane打包。

目前使用的内测分发服务器基于app-host

目前仅支持iOS

安装apphoster插件

fastlane add_plugin apphoster

配置你的lane,打包后自动上传到app-host

如下例子:

lane :build_ad do
  build_app(export_method: "ad-hoc")
  apphoster(api_host: "your https server domain", token: "app-host token", plat_id:"在app-host创建app项目的时候有一个唯一id (注意debug和release是分开的)")
end

运行

fastlane build_ad

恭喜你,你的iOS包打包后会自动上传到你的app-host

可选参数(上面三个为必选,不传会报错)

1. ipa_host

因为app-host上传和下载包的域目录是分开的,如果开发者需要上传成功显示install url如下,需要配置xxxx.com/pkgs 到此参数,上传完成后我获取上传唯一id拼接到url方可显示,不然只会显示上传成功,地址需要开发者自行到app-host管理页面自行获取

apphoster(ipa_host: "xxxx.com/pkgs")
2. file_nick_name

文件名,不传默认用文件自身文件名,基本可不传。