功能开关

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

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

1.1 持续集成(CI)

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

1.2 持续交付

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

1.3 持续部署(CD)

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

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

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

3. 功能开关

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

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

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

框架:
Togglz
FF4J

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容