用于启用和禁用功能的功能标记 feature-flags

通过功能标记,可在运行时打开或关闭应用程序功能,而无需重新部署代码。 它们还将代码部署和功能可用性分开 — 新代码可以在标记后部署到生产环境,并且仅在您准备就绪时打开。

这种做法可显着降低风险。 开发人员可以灵活自信地构建,而产品团队可以控制每个功能发布的时间和受众。

在开发期间管理依赖项 manage-dependencies

在快速开发周期中进行测试时,功能标记有助于管理依赖关系。 开发人员在解决合并冲突和重构方面花费的时间更少,交付功能所花费的时间则更多。

由于特征可用性是在代码之外控制的,因此多个特征可以并行开发 — 而无需复杂的分支。 单个功能可以单独前滚或后滚,而不会影响正在进行的其他功能。

深色部署 dark-deployments

由于启用和禁用决策位于代码库之外,因此您可以将代码部署到生产环境,同时保持最终用户看不到该功能。 这称为​深色部署

深色部署可让您将代码安全地推送到生产环境,在实时环境中根据真实情况测试代码,并在您选择时上线 — 而不是在部署计划强制您上线时。

逐步转出 gradual-rollout

准备发布时,可以使用功能标志执行​逐步推出:将功能打开到1%的用户,测量反馈和性能,然后逐步提高。

这种滚动方法使您能够更严格地控制您交付的体验,并加快与真实用户的反馈循环,因此您的团队可以在完整发布之前快速响应。

终止开关 kill-switch

如果版本未按计划发布 — 负面反馈、错误或性能问题 — 您可以使用功能标志作为​ 终止开关 ​立即关闭该功能。 无需更改或重新部署代码。

功能标记生命周期 lifecycle

体验转出中的功能标记遵循以下典型生命周期:

  1. 开发人员创建功能标记并单独对其进行测试,而不会将其公开给其他用户。
  2. 产品所有者将受众链接到标记,从而使该功能对一组定义的外部用户可见。
  3. 可以选择将该标志添加到要与相关标志一起管理的功能组中。
recommendation-more-help
6270639d-b897-4b62-9114-8b1fdbee8487