移动端CI/CD实现方案

Posted by Chejdj Blog on July 7, 2022

一. 现有的工作流程

目前流程

参考业界比较成熟的移动CI/CD 流程

MCI:移动持续集成在大众点评的实践

有赞零售移动CI/CD实践_移动_原野_InfoQ精选文章

结合我们自身开发流程初步设计CI/CD流程 CI/CD初版流程

二. 现有的移动端CI/CD框架

架构

存在以下几个缺点:

  • 上架应用商店耗时严重,家长端/学生端,4个包,包含本地打包,上传应用商店,编辑文案等,按照过去耗时平均耗费一人天工作

  • 没有CD(支持部署)平台,每次App的上线都是人为本地打包,然后本地上传到对应的应用商店

  • 包管理比较乱,每次Jenkins打包标识码都是一样,导致上传到蒲公英上面的各个包,不知道哪个包是解决了哪个问题,或者哪个包是旧包

  • 提测流程(Jenkins打包、编写测试邮件、分发程序包)纯手动,耗时较多,而且在编写测试邮件的时候,格式不统一,缺少内容,测试老师Get不到提测内容

  • 消息闭环有部分自动化,但是没有利用好

三. 移动端CI/CD一期Task

1. 构建可视化App分发平台

  • 实现分发到各个渠道(蒲公英、App store、Google Play) P0
  • 前端界面上能够实现选择对应项目以及渠道进行一键分发 P0
  • 发版历史查询(对应包下载链接、操作人,操作时间) P1
  • 公司邮箱登录 P1
  • 账号权限分配 P1

2.提测流程自动化

提测流程脚本,同时完成触发自动打包、邮件发送 P1

四. 技术调研

方案:Fastlane + Jenkins 实现方案