前言
在上家公司,由于业务要求,需要频繁的出APP包来为业务引流量;当时发现人工方式去打包成为我们开发的主要瓶颈,于是拉通APP端,运维端,测试端设计一套自动化打包平台,使得效率提升N倍(由1个包/3人 提升到点一个按钮出包)。自动化打包流程
- 自动化打包流程:
- 生成nginx接口混淆(55个老接口),并在测试和预生产环境进行部署
- 数据库表-注意新的url加唯一索引(生成策略:每级:产品名首尾字母,加随机数),表结构 老接口地址->新接口地址
- 【linux|自动化打包平台系列(一):自动化打平台建设概览】三个环境的nginx配置文件,并上传至git
location /ag/gdnf/gcoev { rewrite ^ /ag_gdnf_gcoev last; } location /ag_gdnf_gcoev { proxy_pass http://192.168.172.11:8888/get/switch; }
- 调用测试环境shell脚本进行拉取并reload对应环境的nginx
- 数据库表-注意新的url加唯一索引(生成策略:每级:产品名首尾字母,加随机数),表结构 老接口地址->新接口地址
- 上传固定的 图片,秘钥文件,google的json文件
- 形成新的包(APP开发人员通过swagger接口进行访问)
- 从git上拉原始代码并复制到新的目录下
- 对源代码的秘钥 进行进行替换(调用python进行替换)
- 替换图片(调用python进行替换)
- 执行混淆后的接口替换(调用python进行替换)
- 对源代码产品名替换(调用python)
- 增加无效资源(调用python)
- 增加无效方法
- 将新形成的代码提交git(调用shell)
- 针对新的代码打不同环境的apk包并将包上传至oss(调用shell脚本)
- 将新的包的资源地址发邮件给 开发及测试
- 从git上拉原始代码并复制到新的目录下
- 生成环境处理
- APP开发用新的机器打 生产包(生产域名替换)
- 发上线申请邮件,发需要混淆接口的产品名,附件APP包
- 运维执行生产环境nginx混淆,并将新包上传生产环境的OSS
- 测试进行验证
- 生成nginx接口混淆(55个老接口),并在测试和预生产环境进行部署
项 | 手工方式 | 自动化打包平台 |
---|---|---|
打包效率 | 1个包/3人天 | 1天/N个包(实际半年打包 412个,实际3个/1人天) |
受制约因素 | 开发打包 | 产品提供素材、测试、运营 |
- 在以后的文章中博主会将具体详细的实现步骤进行分享;
- 有幸能生活在信息时代,信息时代使得自动化大大降低自动化的门槛(比如IPhone上的快捷指令),让我们个人也有能力实现自动化流程大幅提高工作和生活的效率;享受这个时代赋予我们的红利
推荐阅读
- 笔记|通用业务平台设计(一):概览
- Linux|Linux -- 用户管理
- 笔记|延时任务实践指南
- 笔记|深度学习环境搭建
- 面试指南|面试指南(三):想跳槽,这些问题你会了吗()
- 闲谈|240天,转行程序员终于成为CSDN博客专家
- 新手安装Liunx出现的一些问题
- 笔试题|字节跳动2021春招研发第二场笔试编程题(三)
- 笔试题|字节跳动2021春招研发第二场笔试编程题(二)