iOS自动出包(iOS自动化构建ipa框架)

作为游戏发行得跟App Store打不少交道,不少游戏项目组的技术也会实现自己的自动构建工具,技术有不同,现在基于自己的理解做一个iOS自动打包的系统
需求:配置好之后,每次打包 ,只需要做简单的选择(出什么类型的包,做什么操作),一键出包,上传蒲公英/test flight/发布
计划:使用Jenkins部署在一台打包机器上,有打包需求的同事可以使用Jenkins后台自行操作出包


iOS 自动化.png

调查后架构:基于 python + Xcode + fastlane + Jenkins

最终实现:


iOS 自动化.png

简介

环境
1.unity 2019.2.10f1 (非游戏工程可以忽略此步骤)
2.mac OS 10.14.6
3.Xcode 11.0
4.python 3.6.5
5.fastlane 2.134.0
6.ruby (fastlane 基于ruby实现)
7.Jenkins & java 1.8 (Jenkins需要java环境)
8.git

FASTLANE
其中最核心的是fastlane,是自动化iOS和Android应用程序Beta部署和发布的最简单方式。 它可以处理所有繁琐的任务,例如生成屏幕截图,处理代码签名以及发布应用程序。
文档:https://docs.fastlane.tools

fastlane 有很多actions,包括Testing、Building、Screenshots、Project、Code Signing等等
本文主要使用其中的
match 同步整个团队中的证书和描述文件,并且可以自动安装证书和描述文件,在证书有修改,有新增设备换PP文件时帮助还是很大的
gym 构建和打包iOS应用
snapshot 自动截屏
upload_to_testflight 上传testflight

其他:
pbxproj :修改Xcode工程配置的python库
Spaceship:自动登录ITC,获取参数

最后启动Jenkins 选择出包方式、项目类型,build number (-1表示由项目自增长,如果想设置为1,填入1即可);点击开始构建即可。一般上传App Store的过程比较长,大部分时间都会花在此处

Jenkins项目.png

你可能感兴趣的:(iOS自动出包(iOS自动化构建ipa框架))