设置百分比灰度
先把一个功能发布给你设备群的一小片,是最有用的一步定向操作。几分钟之内你就会有一个提供给 10% 设备的 flag,并且有一条清晰的路通向 25%、50% 和所有人。
对非生产环境你需要 Developer 或以上;生产类别的环境需要 Admin,或者一个提案。
1. 添加一条带百分比的规则
Section titled “1. 添加一条带百分比的规则”打开你的 flag,选择环境,编辑它的定向规则。添加一条规则,把它的灰度百分比设为 10。
- 把规则的条件留空,就是向所有设备中的 10% 发布。
- 或者先添加条件——比如 cohort 是
beta——百分比就作用于通过这些条件的设备:你的 beta 测试者中的 10%。
设置规则提供什么(对布尔 flag 是 true),保存,你就上线了:现在每十台匹配的设备里有一台拿到新值,其他所有设备穿透到下面的规则或 flag 的默认值。
2. 观察,然后扩大
Section titled “2. 观察,然后扩大”满意之后,编辑这条规则,提高百分比。这是你可以信赖的部分:
- 没有人会忽进忽出。一台设备在灰度中的位置由它的标识和 flag 的 key 计算得出——同一台设备每次都得到同样的答案。
- 提高百分比会保留最初的分组。从 10 到 25 会加入 15% 的设备;最初的 10% 原地不动。
- 每个 flag 各掷各的骰子。在这个 flag 的 10% 里的设备,不会自动出现在下一个 flag 的 10% 里——没有永远倒霉的设备。
而且因为分组归属是纯粹的算术,FortressFlag 不存任何关于谁在灰度里的信息——任何地方都没有一份分组名单,包括我们这里。
3. 完成灰度
Section titled “3. 完成灰度”到 100% 时,每台匹配的设备都拿到这个值——这时诚实的最终状态是把灰度出去的值设为 flag 的默认值,然后删除这条规则。一个几个月前就灰度完了、却还写着“100% 灰度”的 flag,是一个未来的你不得不重新核对的小谎言。
回滚是同一次编辑的反向操作:调低百分比,或者删除规则、让默认值来提供。无论哪种方式,变更都会在大约一分钟内到达在线设备。