Node.js 连续交付的功能标志解决方案
我正在构建一个具有2周sprint周期的应用程序。我们目前测试功能卷展栏,然后热敷如果有问题。我们的堆栈是带有angular和mongo的节点 是否有人使用SAAS解决方案进行功能标记或其他任何有助于持续交付的功能 编辑:试用-将发布更新 Edit2:试用版的更新-好的,在我的堆栈中似乎工作顺利-还需要测试几周。Launchdarkly功能标志的设置非常简单,所以我将在这里概述它 安装SDKNode.js 连续交付的功能标志解决方案,node.js,toggle,flags,feature-selection,continuous-delivery,Node.js,Toggle,Flags,Feature Selection,Continuous Delivery,我正在构建一个具有2周sprint周期的应用程序。我们目前测试功能卷展栏,然后热敷如果有问题。我们的堆栈是带有angular和mongo的节点 是否有人使用SAAS解决方案进行功能标记或其他任何有助于持续交付的功能 编辑:试用-将发布更新 Edit2:试用版的更新-好的,在我的堆栈中似乎工作顺利-还需要测试几周。Launchdarkly功能标志的设置非常简单,所以我将在这里概述它 安装SDK ld_client = LaunchDarkly.init("YOUR_API_KEY"); 传递自定
ld_client = LaunchDarkly.init("YOUR_API_KEY");
传递自定义参数
var config = {"connect_timeout": 3, "socket_timeout": 3};
ld_client = LaunchDarkly.init("YOUR_API_KEY", config);
将用户属性作为JSON对象传递
var user = {
"key": "aa0ceb",
"firstName": "Ernestina",
"lastName": "Evans",
"email": "ernestina@example.com",
"custom": {
"groups": ["Google", "Microsoft"]
}
};
一切都很简单
Edit3:已经用了3周了,有一些初步的想法。功能标记驱动开发是有用的,尽管很难追溯性地集成一些更强大的功能。能够使用launchdarkly api使用我们的优化目标进行A/B测试指标
{
"items":[
{
"name":"Staging sandbox - Engagement",
"kind":"click",
"isDeleteable":false,
"_attachedFeatureCount":0,
"_links":{
"parent":{
"href":"/api/goals",
"type":"application/json"
},
"self":{
"href":"/api/goals/54f7538f643d2ef1c6426443",
"type":"application/json"
}
},
"_site":{
"href":"/goals/54f7538f643d2ef1c6426443",
"type":"text/html"
},
"_source":{
"name":"optimizely",
"identifier":"2353921003"
}
},
{
"name":"Sandbox - Hover",
"kind":"custom",
"isDeleteable":false,
"_attachedFeatureCount":1,
"_links":{
"parent":{
"href":"/api/goals",
"type":"application/json"
},
"self":{
"href":"/api/goals/54f75390643d2ef1c6426447",
"type":"application/json"
}
},
"_site":{
"href":"/goals/54f75390643d2ef1c6426447",
"type":"text/html"
},
"_source":{
"name":"optimizely",
"identifier":"2222571744"
}
}
],
"_links":{
"self":{
"href":"/api/goals",
"type":"application/json"
}
}
}
对于Angular v1.2及更高版本,效果非常好
基本前提是编写功能并将其封装在指令中,然后在标记中实现该指令的位置将功能标志指令添加到同一元素。然后,您可以将该标志的键传递给该指令,以确定是否应启用该功能
如果您正在寻找SAAS解决方案,我知道这是一个功能标志/连续交付平台。在我的公司,我们使用的是企业级客户
我们还使用了免费的,但并不真正适合特性标记的
我们最终开发了一个开源版本,它将功能标志和远程配置这两个概念结合在一起,名为。您对功能标志使用过launchdarkly吗?只是担心性能问题并对my flags进行外部调用。LaunchDarkly使用流模型,这意味着功能规则集保留在应用程序的内存中,因此在您需要评估功能标志时没有网络连接。(注意:我在LaunchDarkly工作)谢谢-如果我的应用程序无法连接到LaunchDarkly,会发生什么?我的用户会看到什么?我不确定功能标志在这种情况下会如何工作。看起来launchdarkly添加了对功能标志的移动ios支持。似乎在网络环境下工作得很好,但我仍然对手机持怀疑态度。还可以查看split.io和ratelim.it Bullet Train的优点是我们可以在本地托管它,这是一些封闭的生产环境所需要的。你有关于如何实现这一点的教程或文档吗?谢谢