4

我正在构建一个具有 2 周冲刺周期的应用程序。我们目前会一次性测试所有功能推出,然后在出现问题时进行热补丁。我们的堆栈是带有 angular 和 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"]
  }
};

所有非常简单的文档

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"
      }
   }
}
4

2 回答 2

4

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

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

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

于 2015-09-26T21:41:47.960 回答
2

在我的公司,我们为企业级客户使用Launch DarklyRollout.io

我们还使用了免费的Firebase 远程配置,但并不真正适合功能标记。

我们最终开发了一个开源版本,它结合了功能标志和远程配置这两个概念,称为Bullet Train

于 2018-06-14T14:20:25.797 回答