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

  1. https://www.martinfowler.com/articles/feature-toggles.html
  2. https://en.wikipedia.org/wiki/Feature_toggle
  3. https://featureflags.io/
  4. https://stackoverflow.com/questions/7707383/what-is-a-feature-flag
  5. https://launchdarkly.com/blog/what-are-feature-flags/

相关产品:

  1. https://launchdarkly.com/
  2. https://www.unleash-hosted.com/ or self-hosted unleash
  3. https://www.cloudbees.com/
  4. https://www.optimizely.com/
  5. https://rollout.io/
  6. Nacos?
  7. Build it by ourselves!

Best Practices:

  1. https://launchdarkly.com/blog/best-practices-short-term-permanent-flags/
  2. https://dev.to/integerman/fun-with-feature-flags-31jf

目标:

  1. 支持通过不同变量(用户ID等特征)等控制feature的开关
  2. 支持灰度发布
  3. 支持前后端的集成 (至少支持Java,GO,PHP,Web的集成)
  4. 从目前的长时间不定期发布优化至每周发布,甚至每天发布

室友
206 声望6 粉丝

青春就是做最可爱的自我


« 上一篇
Git workflow