TBD (Trunk Based Development) 是一种开发人员都将变更提交至一个共享的trunk分支,每次提交都产生一个可生产发布的构建的软件开发模式。
而Feature Switch又是在单一分支中不断引入新的feature的有效工作模式(https://featureflags.io/feature-flags/)。
更多资料参考微软的文章:https://docs.microsoft.com/en-us/azure/devops/migrate/phase-features-with-feature-flags?view=azure-devops
此外使用Feature Switch可以实现持续发布(CD)、灰度发布和A/B Test.
Feature Toggle / Feature Switch
- https://www.martinfowler.com/articles/feature-toggles.html
- https://en.wikipedia.org/wiki/Feature_toggle
- https://featureflags.io/
- https://stackoverflow.com/questions/7707383/what-is-a-feature-flag
- https://launchdarkly.com/blog/what-are-feature-flags/
相关产品:
- https://launchdarkly.com/
- https://www.unleash-hosted.com/ or self-hosted unleash
- https://www.cloudbees.com/
- https://www.optimizely.com/
- https://rollout.io/
- Nacos?
- Build it by ourselves!
Best Practices:
- https://launchdarkly.com/blog/best-practices-short-term-permanent-flags/
- https://dev.to/integerman/fun-with-feature-flags-31jf
目标:
- 支持通过不同变量(用户ID等特征)等控制feature的开关
- 支持灰度发布
- 支持前后端的集成 (至少支持Java,GO,PHP,Web的集成)
- 从目前的长时间不定期发布优化至每周发布,甚至每天发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。