我在一个项目中,我正在构建一个网站模拟器。我正在测试功能切换如何提供一些缺点,这些缺点可以帮助团队比现在更频繁地发布。
我喜欢模拟的一件事是 Canary 版本是如何工作的。假设我刚刚完成了一个新功能的构建,我需要在生产中对其进行测试。Canary 发布只是为了将此功能推送给少数用户。
你如何用代码模拟这个?我正在使用带有 typescript 的 angular2 anad 构建应用程序。为我可以使用的功能创建了配置文件。
你如何,假设只选择 5% 的随机访问该网站的人来测试特定功能?是否全部通过服务器配置完成(在不同的服务器上运行另一个构建)。
如果有人可以制作一个代码示例来说明我如何在应用程序启动时模拟它,我会很高兴。
自己制作了这段代码:
var switchKey: string = localStorage.getItem('featureSwitch');
if (this.featureSwitch != null) {
if (switchKey == "11") {
this.featureSwitch = 1;
localStorage.setItem('featureSwitch', this.featureSwitch.toString());
}
}
else {
if (switchKey != null) {
if (switchKey == "11") {
this.featureSwitch = 1;
localStorage.setItem('featureSwitch', this.featureSwitch.toString());
}
else {
this.featureSwitch = Number(switchKey) + 1;
localStorage.setItem('featureSwitch', this.featureSwitch.toString());
}
}
else {
this.featureSwitch = 1;
localStorage.setItem('featureSwitch', this.featureSwitch.toString());
}
}
这可能是一个不好的例子,因为我认为它不会在实时站点(在互联网上)上运行,这仅在 localhost 服务器上进行了测试。基本上,我将一个 1-11 的数字保存在本地存储中,我可以在其中显示基于一个或多个数字的功能。
任何人有一些想法我可以如何轻松地做到这一点?