自动化打包平台系列(一):自动化打平台建设概览

前言

在上家公司,由于业务要求,需要频繁的出APP包来为业务引流量;当时发现人工方式去打包成为我们开发的主要瓶颈,于是拉通APP端,运维端,测试端设计一套自动化打包平台,使得效率提升N倍(由1个包/3人 提升到点一个按钮出包)。

自动化打包流程

  • 自动化打包流程:

    • 生成nginx接口混淆(55个老接口),并在测试和预生产环境进行部署

      • 数据库表-注意新的url加唯一索引(生成策略:每级:产品名首尾字母,加随机数),表结构 老接口地址->新接口地址

      • 三个环境的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

    • 上传固定的 图片,秘钥文件,google的json文件

    • 形成新的包(APP开发人员通过swagger接口进行访问)

      • 从git上拉原始代码并复制到新的目录下

      • 对源代码的秘钥 进行进行替换(调用python进行替换)

      • 替换图片(调用python进行替换)

      • 执行混淆后的接口替换(调用python进行替换)

      • 对源代码产品名替换(调用python)

      • 增加无效资源(调用python)

      • 增加无效方法

      • 将新形成的代码提交git(调用shell)

      • 针对新的代码打不同环境的apk包并将包上传至oss(调用shell脚本)

      • 将新的包的资源地址发邮件给 开发及测试

    • 生成环境处理

      • APP开发用新的机器打 生产包(生产域名替换)
      • 发上线申请邮件,发需要混淆接口的产品名,附件APP包
      • 运维执行生产环境nginx混淆,并将新包上传生产环境的OSS
      • 测试进行验证

效率提升

手工方式 自动化打包平台
打包效率 1个包/3人天 1天/N个包(实际半年打包 412个,实际3个/1人天)
受制约因素 开发打包 产品提供素材、测试、运营

总结

  • 在以后的文章中博主会将具体详细的实现步骤进行分享;
  • 有幸能生活在信息时代,信息时代使得自动化大大降低自动化的门槛(比如IPhone上的快捷指令),让我们个人也有能力实现自动化流程大幅提高工作和生活的效率;享受这个时代赋予我们的红利

你可能感兴趣的:(linux,自动化打包平台,APP包,java,Andorid)