应用布局与部署的最佳实践
1. 应用布局原则与特性开关
1.1 应用布局第二原则
应用布局的第二个原则是,必须便于审查合并到代表集群真实来源的文件集中的每一项更改。
1.2 特性开关(Feature Gates)
当应用源代码和部署配置文件都处于版本控制之下时,一个常见问题是这些仓库之间的关系。对于小型项目,可以使用同一个仓库来管理应用源代码和配置;但对于大型项目,将两者分开更为合理。即便构建和部署应用的是同一批人,构建者和部署者的视角差异也使得这种关注点分离具有意义。
特性开关在连接源代码控制中的新特性开发与生产环境中的特性部署方面发挥着重要作用。当开发新特性时,开发工作完全在特性标志或开关之后进行。示例代码如下:
if (featureFlags.myFlag) {
// Feature implementation goes here
}
这种方法有诸多好处:
- 让团队在特性准备好发布之前很久就可以提交到生产分支,使特性开发与仓库的 HEAD 保持更紧密的一致,避免长期分支带来的可怕合并冲突。
- 启用特性只需进行配置更改来激活标志,能清晰显示生产环境中的更改,并且在特性激活出现问题时,回滚操作非常简单。
- 简化调试过程,禁用特性无需将代码回滚到旧版本,从而保留新版本的所有 bug 修复和其他改进。
1.3 应用布局第三原则
代码默认处于关闭状态,在特性标志之后进入源代码控制,并且仅通过对配置文件进行代码审查后的更改来激活。
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



