[Fastlane+Jenkins]iOS项目持续集成与自动化构建基础平台

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.

Other

fastlane
fastlane+Jenkins 构建脚本

推荐阅读更多精彩内容

  • 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广...
    闲云清烟阅读 998评论 0 3
  • 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广...
    偏偏就是祢阅读 4,598评论 38 44
  • 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广...
    一缕殇流化隐半边冰霜阅读 88,533评论 646 894
  • 这个主要是记录下来备忘,为了方便以后自己查看 公司项目中用到的是fastlane 持续部署,在对接新的项目的时候会...
    MRNAN_阅读 69评论 0 1
  • 总有一天,你会发现众生皆苦! 生而贫寒是苦,爱而不得是苦,分离失散是苦,食欲是苦,贪欲是苦,爱欲是苦,嗔欲是苦……...
    安梦瑶阅读 38评论 0 1