移动端自动打包文档
打包方式
- iOS采用fastlane统一打包
- 继用原有的打包方式 ./gradlew assembleRelease
打包脚本文件
-
工程目录下 pkg.sh 总的打包脚本、更目录下运行
-
iOS目录下
├── Gemfile ------------------------定义你的应用依赖哪些第三方包
├── Gemfile.lock -------------------保持多环境下保持gem版本一致
└── fastlane
├── Appfile---------------------App信息的配置文件
├── build-----------------------打包完成之后的额输出目录
├── Fastfile--------------------打包逻辑的主要脚本
├── Pluginfile------------------上传蒲公英的配置文件
├── README.md-------------------忽略
└── report.xml------------------打包环节时间
fastlane过滤文件的添加
- .gitignore 下
*/fastlane/report.xml
*/fastlane/Preview.html
*/fastlane/screenshots
*/fastlane/build
*/fastlane/README.md
pkg.sh脚本
- pkg.sh 目录下执行
- 命令
sh pkg.sh ios // ios打包
sh pkg.sh android // android打包
sh pkg.sh all // 同时打包ios和android
- pkg.sh重要变量
- app_name:用户端:client、员工端:staff
- cur_channel:包的渠道 debug 为测试用、release为线上用
- cur_version:包的版本号
- cur_commit:包在git上的节点
工程中的配置项
- 员工端和用户的配置文件config.js 曾export const debug = true 的配置:区分测试用还是线上用,是pkg.sh中cur_channel的来源;注:放在配置文件的第一行
- 项目根目录下有新增commit.json文件、用于记录本次打包的节点、是pkg.sh中cur_commit值的来源;注json格式不要修改
产出包的输出
- ios 早fastlane目录下的build中的 debug和release中,debug给测试使用(会自动上传到蒲公英)、release线上环境报、手动发布到App conect。
- android 包在/android/app/build/outputs/apk/release/中