iOS项目持续集成与自动化构建基础平台
平台需求背景
1.日常项目开发过程中,测试一天内需要多个新包去验证问题.开发手动打包需要切换环境,中断开发中的功能,测试人员等候时间长,效率低.
2.手工打包,测试人员不清楚各个版本功能的变更.需要人工确认版本修改的内容,并且没有记录.
3.目前依靠人力进行代码质量的保障,自动化测试程度低,可靠性差.
4.编译不过的代码推送到服务器导致其他组员更新最新代码后编译不通过,影响开发效率的问题.
4.产品/设计发版前才拿到新版本的开发包进行产品的验收,导致问题反馈过晚.
为了解决这些问题,需要进行iOS项目持续集成与自动化构建基础平台的建设.
平台目标
1.提供基于jenkins+xctool的iOS项目自动化构建平台,解决测试人员依赖开发手工打包效率低的问题.
2.提供基于jenkins+gitlab commit自动化纪录与展示版本内容变动的功能,便于测试人员问题回归与验证.
3.对外提供夜间自动化构建发布功能,外部人员(PD/PM/UED/..)每天都可邮件接收到最新的包,进行问题的早期的发现与反馈.
4.持续集成,开发人员提交代码后自动触发构建,编译不过,邮件通知.
5.服务其它iOS项目.
6.优化打包过程,减少打包时间.
平台远期规划
目标:提高自动化测试程度,提高可靠性和降低人力消耗.
1.探索 基于Specta和Expecta来测试我们的iOS项目.
生成可视化的Test Result Trend Report.
2.基于 Gcovr工具来生成代码覆盖率报告.
3.基于 OCLint的静态分析,自动报告破坏代码风格规则的代码位置.
4.测试人员根据测试结果 选取打包平台上面的包自动上传App Store.