如何构建一套成熟的APP生产线

如何构建一套成熟的APP生产线

引言

记得在学校时,接触android开发还是在课堂上,那时尝试开发App基本就自己一个人学着搞。工作一年多来,在日常的观察和学习中,愈来愈清晰的感受到团队开发的那种极大的能量。越发认为对于一家公司而言,一款成功应用的产出,不依赖于一两个人的个人能力,而靠的是一个团队的协作配合。如果把团队开发比作生产线,那么如何去搭建一套成熟的APP生产线,使其具有高自动化、持续性的、高效率等特点呢?

初步方案

结合自己所知所学,一套成熟的APP生产线的基本框架应大致如下:
这里写图片描述
框架的基本构成如下:

  • Coder:Android开发人员
  • Tester:测试工程师
  • Inner User:业务方验收人员
  • Code Manage Repository: 负责代码管理、版本控制。
  • CI Control Center:负责持续集成的管理控制,对外提供管理页面进行访问,支持访问控制,构建任务管理(定时任务、构建监控等)
  • APK Build Server:搭载APK构建脚本,执行具体的构建任务,构建过程一般包括:代码拉取、代码审计、应用加固、多渠道版本构建等。
  • Apps Dispatcher:负责分发由APK Build Server产出的APK包的分发,包含向内部渠道的分发和向外部市场的分发。
  • Mobile Test Platform: 负责Android测试机资源的管理和共享、Android应用云测(兼容性测试、自动化测试)、远程调试等。
  • Bugs Manage Platform:负责迭代管理、Bug管理等。

如上图所示,基于该框架的APP生产-测试-发布流程大致如下:

Step 1. Coder们实现业务功能并上传代码。
Step 2. Coder通过CI Control Center的访问页面发起构建任务请求,并排入任务队列。
Step 3. CI CC通知APP Build Server按任务要求执行构建。
Step 4. APP Build Server从代码仓库拉取所需要代码、配置。
Step 5. APK的编译生成过程应至少包含代码审计(涉及Code Style,安全漏洞)、应用加固(代码混淆、安全加固)、多渠道多版本构建等。
Step 6. Apps Dispatcher接收上步生成的包并准备内外渠道的分发。
Step 7. 内部渠道的包可以供内部测试人员获取,或者派发给内部测试设备进行安装。
Step 8. 内测相关人员通过移动云测平台对指定包进行安装测试。
Step 9. 内测发现的bug可以提交到Bug管理平台并通知相应Coder。
Step 10. Coder可以在移动云测平台进行Bug重现、调试、代码验证,并通过Bug管理平台维护所属Bug.
Step 11. 内测完成后,将Android APK发布到对应渠道和市场,供外界用户下载使用。

技术栈

我对涉及的工具、所需技术进行了初步了解和调研,大致如下:

  • Code Manage Repository: Git、SVN。
  • CI Control Center: Jenkins
  • APK基本构建:Gradle
  • 代码审计:CheckStyle,ErrorProne,FindBugs,FindSecurityBugs
  • 应用加固:Proguard、类名混淆、第三方加固集成
  • 多渠道版本构建:META-INFO文件夹渠道写入方案,APK ZIP末尾渠道写入方案
  • Mobile Test Platform: STF
  • Bugs Manage Platform:JIRA,Trac

结语

可知,搭建一套成熟的APP生产线,需要做的工作还有很多。有些流程和功能是已经实现的,后续的日子,对已经实现的,我会继续尝试和探索如何优化,对于未实现的,我会继续学习和研究如何实现。接触Android开发时间较短,能力亦有限,能想到的暂时只有这么多,欢迎各位同学的任何补充和建议~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值