背景
文本主要记录测试平台打包流程设计思路和遇到问题,也是4年前交接过来遇到一些问题总结。
工程介绍
目前python版本3.7,后续如果依赖报错,还需要升级python版本和依赖版本。
打包
这个主要解决打包客户端不同分支,完成取包任务的平台。
大体上分成三个模块:接口逻辑,配置slave机器和书写shell脚本。
任务图
简化版本:
slave机器环境配置
这个真正执行打包任务的机器,我们要做的就是完成对应环境配置。
目前主要就是plusme混淆包、ios包和安卓渠道包。
名词解释
混淆包:这个混淆包意思不是release包的意思,因为google play 上传的aab因为一直涉及到账户关联,所以我们把安卓所有类名,变量名,图片名称等都做了名称修改,这样来解决账号关联的风险。整体来说分成前置混淆和后置混淆。
安卓渠道包:这个就是常规安卓打包,apk、aab这种,用的Gradle的命令。
ios包:这个命令行运行生成的adhoc、dist和inhouse包。
adhoc:在白名单机器可以直接安装的包。
dist: 上传的app stroe的包。
inhouse:不需要使用废弃的。
混淆包配置
机器申请:
我们打包机走的公司虚拟机。机器配置:linux 8核CPU、24G内存、100G硬盘和操作系统Centos7。
配置环境
具体需要git、java环境、jdk、安装依赖包等。
备注:这个步骤有点繁琐,每一个步骤确认安装是否正确,出错了你打包肯定报错,定位问题时间非常长。
配置ssh免登录
这个步骤主要为了shell脚本传包的时候可以不需要输入账号密码。
配置服务器之间的 SSH 免密码登录可以通过 SSH 公钥认证实现。这种方法允许你从一台服务器到另一台服务器登录时无需输入密码,非常适合自动化脚本或批量操作。
IOS打包机配置
这个比较简单了,操作见文档,核心操作点就是研发在这机器把账号、证书配置好,本地可以打包就可以了。
QA只需要配置git账号。
备注:因为mac机器如果链接wifi或者网线的话,需要联系IT固定ip,不然的话定期就会更新还需要修改jenkins配置。
安卓渠道包配置
这个就是plusme包的简化版本,配置java环境,ndk、和git账号即可。mac机器最佳。
jenkins操作
所有任务调度都走的jenkins,通过jenkins进行节点和任务配置等,自动完成调度。
具体配置流程后面单独写一个。
shell脚本
这个就是jenkins的流水线语法。
1、工程路径
总体来说就是这样,后面具体配置,单独一个个写下。
详细流程如图,后续拆解各步骤。