功能标志解决方案持续交付

时间:2015-09-26 21:23:21

标签: node.js toggle flags feature-selection continuous-delivery

我正在构建一个具有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"
      }
   }
}

2 个答案:

答案 0 :(得分:4)

angular-feature-flags适用于Angular v1.2及更高版本。

  

基本前提是编写功能并将其包装在指令中,然后在标记中实现该指令,将feature-flag指令添加到同一元素。然后,您可以将标志的密钥传递给此指令,以解决是否应启用此功能。

如果您正在寻找SAAS解决方案,我知道launchdarkly是一个功能标记/持续交付平台。

答案 1 :(得分:0)

在我的公司,我们已将Launch DarklyRollout.io用于企业级客户。

我们还使用了免费的Firebase Remote config,但不太适合功能标记。

我们最终开发了一个开源版本,它结合了Feature Flags和Remote config这两个概念,称为Bullet Train