功能开关

2021-02-09  本文已影响0人  engineer_tang

1. 持续集成、持续交付和持续部署

提倡采用极端的开发周期持续验证当前编写的代码,旨在确保应用程序始终处于可部署到生产环境的状态。

1.1 持续集成(CI)

始终将代码与系统的其他部分集成起来,让问题快速浮出水面。发现问题后,将有限修复导致的问题原因,推后新的开发工作。它并未把整个流水线都自动化,代码部署到生产环境前,需要额外执行手动验证。

1.2 持续交付

比持续集成更进一步,将整个流水线都自动化(部署到生产环境除外)。每次将代码提交到仓库并通过所有验证后,便可部署到生产环境。然而,部署决策是人工完成的,需要有人选择要部署到生产环境的构建。
选择是基于策略或功能的,即要将哪个构建提供给用户以及何时提供。

1.3 持续部署(CD)

最后,如果有关部署内容的决策也是自动做出的,持续交付就变成了持续部署。

持续将代码交付到生产环境的条件:
1) 没有分支
2)分支从被创建到被集成到主干的时间很短(不超过一天,最好只有几小时);否则就不能持续验证代码。

2. 在生产环境中测试应用程序

3. 功能开关

目的:隐藏未完成功能。
功能开关能够开启和关闭应用程序的功能。

用途:
1 ) 对存在问题的功能进行隐藏,充当断路器,让应用程序平稳退化。
2)关闭次要功能,将硬件资源留给核心业务

  1. 仅对测试者启用新功能。让测试者能在生产服务器上进行校验。

框架:
Togglz
FF4J

上一篇 下一篇

猜你喜欢

热点阅读