Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 连续交付的功能标志解决方案_Node.js_Toggle_Flags_Feature Selection_Continuous Delivery - Fatal编程技术网

Node.js 连续交付的功能标志解决方案

Node.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"); 传递自定

我正在构建一个具有2周sprint周期的应用程序。我们目前测试功能卷展栏,然后热敷如果有问题。我们的堆栈是带有angular和mongo的节点

是否有人使用SAAS解决方案进行功能标记或其他任何有助于持续交付的功能

编辑:试用-将发布更新

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"]
  }
};
一切都很简单

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的优点是我们可以在本地托管它,这是一些封闭的生产环境所需要的。你有关于如何实现这一点的教程或文档吗?谢谢