我正在构建一个具有2周冲刺周期的应用程序。我们目前一次测试功能推出,然后如果出现问题则测试热补丁。我们的堆栈是带有角度和mongo的节点。
任何人都使用任何SAAS解决方案进行功能标记或其他任何事情来帮助持续交付?
编辑:试用LaunchDarkly - 将发布更新
Edit2:从试用版更新 - 好吧,它似乎在我的堆栈中顺利运行 - 仍然需要再测试几周。 Launchdarkly功能标志设置非常简单,所以我在这里概述它。
安装SDK
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"]
}
};
非常简单明了documentation。
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"
}
}
}
答案 0 :(得分:4)
angular-feature-flags适用于Angular v1.2及更高版本。
基本前提是编写功能并将其包装在指令中,然后在标记中实现该指令,将feature-flag指令添加到同一元素。然后,您可以将标志的密钥传递给此指令,以解决是否应启用此功能。
如果您正在寻找SAAS解决方案,我知道launchdarkly是一个功能标记/持续交付平台。
答案 1 :(得分:0)
在我的公司,我们已将Launch Darkly和Rollout.io用于企业级客户。
我们还使用了免费的Firebase Remote config,但不太适合功能标记。
我们最终开发了一个开源版本,它结合了Feature Flags和Remote config这两个概念,称为Bullet Train。