3

Я создаю приложение с двухнедельными циклами спринта. В настоящее время мы тестируем всплывающие подсказки сразу, а затем горячий патч, если что-то испортится. Наш стек - узел с угловым и монго.Флаги с функциями для непрерывной доставки

Кто-нибудь работал с любыми решениями SAAS для маркировки функций или чего-то еще, что помогло бы в непрерывной доставке?

Edit: LaunchDarkly испытания того - разместит обновление

Edit2: Обновление от Trial - Хорошо, это, казалось, плавно работать в моем стеке - по-прежнему будет необходимо проверить в течение нескольких недель. Launchdarkly функция флагов настройки было довольно легко, поэтому я опишу его здесь.

Установка SDK

ld_client = LaunchDarkly.init("YOUR_API_KEY"); 

Passing пользовательских параметров

var config = {"connect_timeout": 3, "socket_timeout": 3}; 
ld_client = LaunchDarkly.init("YOUR_API_KEY", config); 

Pass Атрибуты пользователя в формате JSON объектов

var user = { 
    "key": "aa0ceb", 
    "firstName": "Ernestina", 
    "lastName": "Evans", 
    "email": "[email protected]", 
    "custom": { 
    "groups": ["Google", "Microsoft"] 
    } 
}; 

Все довольно просто documentation.

Редактировать 3: Используется в течение 3 недель и начинаются с мыслей. Потенциал разработки флагов функций был полезен, хотя сложно ретроактивно интегрировать некоторые из наших более надежных функций. Был способен использовать startdarkly 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

Похоже, что добавлен новый запуск [link] (http://blog.launchdarkly.com/feature-flags-as-a-service-for-ios-sdk-mobile) поддержка мобильных ios для флагов функций. Кажется, хорошо работает в веб-среде, но я все еще скептически отношусь к мобильному. Придется увидеть. – Hbitspark

+0

Также можно посмотреть на split.io и ratelim.it http://blog.ratelim.it/blog/launchdarkly-vs-split.io-vs-ratelim.it – jdwyah

ответ

4

angular-feature-flags работает довольно хорошо для угловых v1.2 и выше.

Основная предпосылка заключается в том, что вы пишете свою функцию и завершаете ее в директиве, а затем, когда вы реализуете эту директиву в своей разметке, вы добавляете директиву флагов элемента к тому же элементу. Затем вы можете передать ключ этого флага в эту директиву, чтобы решить, следует ли включать эту функцию.

Если вы ищете решение SAAS, я знаю, что launchdarkly является флагом функций/непрерывной платформой доставки.

+0

Используете ли вы запуск вообще для флагов функций? Просто беспокоился о проблемах с производительностью и внешних вызовах моих флагов. – Hbitspark

+1

В LaunchDarkly используется потоковая модель, что означает, что набор правил функций поддерживается в памяти вашего приложения, поэтому в то время, когда вам нужно оценить флаг функции, нет сетевого подключения. (nb: Я работаю в LaunchDarkly) – pkaeding

+0

Спасибо. Так что, если мое приложение не может подключиться к launchdarkly, что произойдет? Что бы на самом деле видели мои пользователи? Я не уверен, как этот признак функции будет работать в этом сценарии. – Hbitspark