JEAPP自动化打包
建设背景
现有的JEAPP打包是通过第三方平台(HbuilderX)进行远程打包的,远程打包的优点在于前期成本小,无需搭建本地打包的Android环境与IOS环境即可快速完成打包。
在现有的打包业务流程当中,由于JEPAAS客户无权限操作到hbuilder进行打包,所以需要打包人员收集用户的打包Logo、启动图片,应用证书等文件,同时需要有打包人员帮助客户整理与hbuilder的版本约定文件(mainfest文件),再到真机运行调试,最后到云打包完成这一套重复,机械性的工作。
在起初的打包业务中,由于打包量小,且无需频繁调试,这一既定流程可以迅速的完成工作,但在近期客户打包量增加后,项目打包,真机调试这一流程并没有因为对业务的熟练程度而降低时间成本,反而随着客户的增多而持续的增加,导致打包数量越多,工作越发繁琐,自动化打包就是为了解决人在对流水作业效率降低的弊端,通过工具流水作业,解放人力成本。
在原有预期流程进行下,流程图中标注的红色区域均可能会存在材料不符合JEAPP或Hbuilder打包要求的情况,最后驳回给客户,再次重复进行打包流程。
开发目标
通过建设背景的分析,自动化打包的流水线可以简化为以下流程:
流水线作业需要完成以下三大点开发工作:
- 打包文件自动审核。
- mainfest文件的生成。
- 自动提交云端打包(后续)。
打包文件自动审核
文件审核可以细分为logo的审核,启动图的审核,服务器IP地址校验,证书文件审核。
logo、启动图审核可以在文件上传的时候判断是否符合规定大小格式即可。
服务器IP校验可以通过请求填写地址,判断响应状态码是否为200判断。
证书文件主要为IOS打包时用,分为公钥与私钥证书,在打包时,用户勾选的mainfest权限信息必须在证书中授权(需审核)。
mainfest文件生成
mainfest文件需要在平台处规划出一个对应的子功能,包含以下几个维度:
基础配置(应用标识、应用名称)
图标配置 (上传项目图标)
启动图配置 (参照Hbuilder启动图配置)
SDK配置 (参照Hbuilder启动图配置)
模块权限配置(参照Hbuilder启动图配置)
自动提交云端打包(后续)
相关扩展
- 在版本定义明确后后期可借助docker,针对某一个版本进行打包。
- 完全托管的客户自动打包。
https://www.processon.com/diagraming/5ed74613e401fd1919fde755