主要参考了:
https://www.zhihu.com/question/21714205
https://www.zhihu.com/question/28296375 
一、概述
所谓的灰度发布,在行业内叫做A/B Test,所以可以搜索一些这方面的关键词
下面是某公司的灰度发布流程,仅供参考。

一)经典总结1:
1)web页面灰度。按照ip或者用户id切流啊。具有随机性,可以控制比例
    2)服务端灰度。考验主系分能力了,可以做逻辑切换开关,按照义务相关属性逐渐切流
    3)app。一般按照用户逐渐推送包,主要是安卓。iso内部大规模内测
    没有不能灰度的业务,只有不能灰度的设计

作者:无名气
链接:https://www.zhihu.com/question/28296375/answer/61894553
来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2)经典总结2:
    web 区分区域、时间端、人群做灰度
    iOS 对比模块同时存在,云端控制模块的关闭和开启
    Android,云端控制升级弹窗
    PC client 粉丝群、论坛、不同的下发渠道做灰度
二、安卓很适合做灰度发布
1)从服务器端下手

Android平台做灰度再合适不过了。
找单一渠道投放特别版本出去是一个思路。另一个是做升级平台的改造,允许针对部分用户推送升级通知甚至版本强制升级。

无论哪种方法都需要做好版本管理工作,分配特别的版本号以示区别。

当然,既然是做灰度,数据监控(常规数据、新特性数据、主要业务数据)还是要做到位,该打的数据桩要打。

还有,灰度版最好有收回的能力,一般就是强制升级下一个正式版。

作者:张瑞
链接:https://www.zhihu.com/question/21714205/answer/19080164
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2)从客户端下手

自己做产品时也有类似的需求,下边是我的方案:)

基本的逻辑是两个版本的代码都打到app包里,然后在app端植入测试框架,用来控制显示哪个版本。

测试框架负责与服务器端api通信,由服务器端控制app上A/B版本的分布,可以实现指定的一组用户看到A版本,其它用户看到B版本。

服务端会有相应的报表来显示A/B版本的数量和效果对比。

最后可以由服务端的后台来控制,全部用户在线切换到A或者B版本~

所以这个也可以用来做灰度发布 :)

另外由于打进去两个版本的代码,app的包体积会大一点(这和功能变化多少有关)

作者:且歌
链接:https://www.zhihu.com/question/21714205/answer/19080265
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

3)典型案例
MIUI的控制上,存在体验版、开发版、正式版三个版本。
包括Chrome也有canary、dev、stable三个版本。
对于Android应用,可以使用Google的分阶段发布。
Google开发者后台可以设置灰度发布的百分比,5%,10%,20%,50%,100%。

4)应该有完善的工具可以看到各种统计分析的数据,比如淘宝就有;

三、iOS版本不好做灰度发布
    iOS上只能好好测试了,或者发布越狱版本(但越狱版本有时候本身也是一种问题)    
    iOS比较麻烦,由于审核机制以及iOS本身对权限的控制,我们通常是选择越狱版本渠道来进行灰度,然后才是正式版本灰度。
http://TestFlightApp.com 可以实现iOS的灰度测试,但是参与测试用户需要注册,比较麻烦,而且会大大降低普通用户的样本量,只能说这是一个选择之一了。

iOS:官方的测试平台有Testflight,已经被苹果收购,但是整个内测用户邀请的方法流程还是没有打通,邀请用户成本比较高,是通过添加用户邮箱的方式,收到邀请邮件后还需要用户按步骤下载tf,下载应用等,没有一套教学视频普通用户还是难以接受。但非常适合在新产品发布前使用一些运营手段去建立这个用户群。用户一旦完成第一次操作,以后更新就像appstore一样简单。对开发者来说,操作也是和appstore一样的。比较方便。
且一个公司有多款产品的话,使用这个成本也会稍低一些,不过最大的问题还是灰度的用户量,和后期用户的消亡管理和扩充

还有一个是如果有打不同的iOS渠道包(除了appstore还有其他越狱渠道)或者其他tag的话,也可以通过升级配置来指定灰度发布。

作者:AlwaysAT
链接:https://www.zhihu.com/question/28296375/answer/61898109
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://www.cnblogs.com/strinkbug/p/7078851.html

Android、iOS、和Web如何做灰度发布?相关推荐

  1. 灰度发布 java_当我们说做灰度发布的时候我们在做什么

    现在对于稳定性的要求越来越高,同时在维护的应用中有一个正在进行迁移,需要采取一些措施来实现平稳升级和迁移.采用灰度发布是一个可行的方案. 什么是灰度发布 百度百科上的解释是这样的 灰度发布是指在黑与白 ...

  2. 使用BeetleX网关对Web应用进行灰度发布

    灰度发布可以更有效地保障服务运作的可靠性,即能让服务得以更新的同时也不影响业务动作.BeetleX网关支持全动态化实时配置,对应用进行灰度发布可以说是非常便利. 灰度发布在BeetleX网关中涉及到以 ...

  3. Tagging Testing for Android, iOS and Web

    Set Charles on Laptop For Android App For iOS App For Web Application 1. Set Charles on Laptop (1) O ...

  4. Android/iOS微信6.3.5同时发布更新 支持群视频聊天、群公告

    下午微信6.3.5发布更新,新版最大变化就是支持群视频聊天,又一次向手机QQ靠拢.在群管理方面,支持发布群公告,支持群主转让给其他群成员,同样都是QQ玩剩下的功能.另外,新版支持微信运动查看步数图表. ...

  5. 使用nginx+lua实现web项目的灰度发布

    1.问题:小团队,快速迭代开发,版本发布没有经过测试就要放出去,怎样在内网测试过后在外网能在真实环境让内部人员再过一次测试且不影响外网用户 2.实现思想: a.至少要有两台机器 b.公司是统一出口IP ...

  6. 【Flutter】手机应用类型 ( Android | iOS | Native 应用 | Web 应用 | Hybrid 应用 | ReactNative 应用 | Flutter 应用 )

    文章目录 一.Native 应用 二.Web 应用 三.Hybrid 应用 四.ReactNative 应用 五.Flutter 应用 一.Native 应用 原生应用开发 : Android / i ...

  7. Web服务不停机更新和灰度发布方案

    文章目录 Web服务不停机更新和灰度发布方案 当前情况 方案一 负载均衡: 问题: 方案二 灰度发布: 用IF指令实现 根据来源ip做判断 根据cookie做判断 使用lua写脚本实现 使用nginx ...

  8. 什么是灰度发布?灰度发布方式 系统的割接 灰度部署典型的框架架构

    什么是灰度发布?http://djt.qq.com/article/view/16   灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.AB  test就是一种灰度发布方式,让一部用户继续用A, ...

  9. 灰度发布:灰度很简单,发布很复杂灰度发布(灰度法则)的6点认识

    什么是灰度发布,其要点有哪些? 最近跟几个聊的来的同行来了一次说聚就聚的晚餐,聊了一下最近的工作情况如何以及未来规划等等,酒足饭饱后我们聊了一个话题"灰度发布". 因为笔者所负责的 ...

最新文章

  1. Linux安装gitbook
  2. python编码转换语句_好程序员Python教程之字符串编码知识小结
  3. delphi if多个条件_屡试不爽!使用策略模式代替多个if条件语句
  4. ubuntu运行python ide_在Ubuntu-16.04中安装Python可视化IDE——Spyder
  5. 嘉年华回顾丨 尚博带你了解腾讯 TXSQL如何 赋能腾讯云分布式数据库 CynosDB
  6. 乐源机器人优点跟缺点_桁架上下料机械手与上下料机器人一样吗?
  7. [C++对象模型][10]类型转化
  8. leetcode python3 简单题119. Pascal's Triangle II
  9. LVM 逻辑卷管理(原理概念篇)
  10. C语言数据结构知识点小结(全)
  11. 学生社团管理系统(Java+Swing+mysql)(超简陋)
  12. 秒开路由sam1_野狼SAM机架精编版V1.0官方版-独木成林
  13. java和vue实现拖拽可视化_可视化拖拽页面编辑器 一__Vue.js
  14. Android水波纹效果
  15. 2021-09-06 网安实验-编码解码-凯撒密码,QWERTY键盘编码
  16. 图灵机器人之Python实现
  17. 机器学习 --- 4. 大内密探HMM(隐马尔可夫)围捕赌场老千
  18. openstack计算节点的虚机部署安装
  19. minio mc设置永久下载三种方式
  20. 到医院不给开康复证明为什么

热门文章

  1. 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件...
  2. 想多赚钱就要多培养自己脖子以上的能力
  3. 单实例数据库迁移到rac环境(四)上
  4. Python 扯淡的Map-Reduce
  5. 批量增加域用户并设置为漫游用户
  6. python3 logging模块中文乱码_Python logging模块写入中文出现乱码
  7. vue key重复_Vue 前端面试题
  8. Linux htop工具使用详解
  9. 360手机卫士大数据驱动犯罪打击 配合警方破案成果显著
  10. gradle:Creating New Gradle Builds