ios--灰度发布
ios--灰度发布
⼀、灰度发布(百度百科解释)
灰度发布(⼜名⾦丝雀发布)是指在⿊与⽩之间,能够平滑过渡的⼀种发布⽅式。在其上可以进⾏A/B testing,即让⼀部分⽤户继续⽤产品特性A,⼀部分⽤户开始⽤产品特性B,如果⽤户对B没有什么反对意见,那么逐步扩⼤范围,把所有⽤户都迁移到B上⾯来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
灰度期:灰度发布开始到结束期间的这⼀段时间,称为灰度期。
企业管理专业学什么
今天被⼈询问灰度发布,ios上⾯⽀不⽀持灰度发布。⼀时懵逼,因为之前虽然听过类似的名词,但没有真正查做过,这⼀次尴尬⾃然不能有下⼀次了。
经了解,App Store发布App产品除了传统的⼿动发布,⾃动发布外,还有⼀个分阶段发布,这个分阶段发布就是灰度发布,
登录 itunes 后台,你就可以看到在应⽤版本号的最下⽅,有“Phased Release for Automatic Updates” 选择项。
这个 Phased Release for Automatic Updates,就是苹果提供的灰度机制,只是苹果把这个叫做⾃动更新的分阶段发布。该灰度发布机制将灰度分为七天,七天共七个阶段。第⼀天发布 1%的⽤户,第⼆天发布 2%,之后快速上升,第六天发布 50%⽤户,最后⼀天发布到所有⽤户。
⼆、苹果的分阶段发布特点
1,分阶段时间为7天,第七天对全部⼈发布,已打开⾃动更新的 iOS ⽤户;
2,在分阶段发布期间每天完成⾃动更新的⽤户的百分⽐将显⽰在iTunes Connect中
梅花鹿养殖3,所有⽼⽤户仍然可以直接从App Store⼿动更新应⽤,⽽新客户将始终看到最新版本。⽤户就是不在当天分阶段发布之列,仍然可以⼿动更新当前版本
4,如果发现版本更新中发现有问题,可以随时暂停分阶段发布,总共最多30天,⽽不管暂停次数。版本更新暂停超过30天后,发布将在暂停的那⼀天恢复,将⽆法再次暂停发⾏。
5,分阶段发布不能选择特定的⼈(如年龄、性别,领域或设备信息,如操作系统版本或设备类型),为随机选择。
6,在分阶段发布期间,开启⾃动更新的⽤户完成⾃动更新,⽤户不会受到通知。⽤户⾃⾝不知在体验灰度版本,没有相关机制提⽰
三、⾃动更新的分阶段发布的利弊
小小火辣妃
利:
1,发现新问题,可及时暂停分阶段发布,将损失降到最低。
2,加速产品的发布进程,减少测试周期。
中国朝代表弊:
1,只能选择⽼⽤户更新时的灰度,也就是说新⽤户安装的都是新版。
2,在体的选择上是随机的,抽到的⽤户不能代表全局⽤户特征,统计误差不定,有可能很⼤,也有可能很⼩。
3,灰度发布的新版本⼀旦出现问题是⽆法回滚的,在修复版开发完成重新发布审核上架之前,已经更新的⽤户只能继续⽤bug版本。
4,只能做较⼤的灰度测试,⽆法针对功能较⼩模块甚⾄代码⽚段做灰度。
四、针对性实现灰度发布策略
针对以上出现的弊端,⼜想⽤灰度发布机制,有⼈想到结合TestFlight测试版本发布安装机制,做⼀款属于“内测”版本的灰度发布,发布之后根据运⾏情况,该TestFlight版本是有bug暂停,还是直接转App Store正式发布,是⼀个不错的选择。
TestFlight 的限制和特点:
1,需要运⾏在 iOS8 及以上版本的设备上
2,需要安装 TestFlight App
出处
3,有效时间(90天)
4,测试⼈员有最⼤上限(最多10000)
5,TestFlight版本,可以提交反馈
6,TestFlight版本,需要审核(1天左右)
整体灰度发布的逻辑思路
该流程特点
1,可以根据⽤户id判断⽤户是否满⾜我们要发布版本的对象⽤户
2,需要判断⽤户⼿机是否安装testflight,否则⽆法安装testflight测试版本
该灰度发布实现完全没有使⽤到苹果官⽅提供的分阶段发布,⽽是结合testflight测试版本来实现的。10000安装使⽤数量,⼀定程度上已经⾜以满⾜版本的各种测试。
该策略实现的灰度发布,也有些弊端。⽐如,安装testflight测试版本出现问题,也⽆法版本回滚,只有在发布新的更正版本后才能避免
安装testflight测试版本出现问题,也⽆法版本回滚,只有在发布新的更正版本后才能避免bug。但是在声名“内测”版本,并且安装⽤户数量在10000以内情况,这种更具有针对性的灰度发布还是很有优势的。
bug。
五、除了灰度发布之外其他有名发布或者部署策略
冰冻三尺⾮⼀⽇之寒,单单知道灰度发布并不⾜以我下次被询问时⼀定不会“尴尬”。
1,蓝绿部署
蓝绿部署,是指同时运⾏两个版本的应⽤。⼀般应⽤后台服务端,还得是做负载均衡的后台应⽤。新版本发布后,⽼版本不会⽴刻关闭,⽽是会同时运⾏⼀段时间,等新版本的后台应⽤运⾏稳定后⽼版本关闭。
使⽤蓝绿部署,硬件需求很⾼,使⽤蓝绿部署的硬件⾄少是⽇常所需的两倍。
2,滚动发布
滚动升级,就是在升级过程中,并不⼀下⼦启动所有新版本,是先启动⼀台新版本,再停⽌⼀台⽼版本,然后再启动⼀台新版本,再停⽌⼀台⽼版本,直到升级完成,这样的话,如果⽇常需要10台服务器,那么升级过程中也就只需要11台就⾏了。
但是滚动升级有⼀个问题,在开始滚动升级后,流量会直接流向已经启动起来的新版本,但是这个时候,新版本是不⼀定可⽤的,⽐如需要进⼀步的测试才能确认。那么在滚动升级期间,整个系统就处于⾮常不稳定的状态,如果发现了问题,也⽐较难以确定是新版本还是⽼版本造成的问题。
巨魔出装
遇到,记录,分享~~
喜欢的点个赞,⼤神路过要指点的,欢迎下⽅留⾔!
相关参考链接

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。