Embedded Feature Flags

On this page

Embedded feature flags give teams the ability to pack CloudBees Feature Flags data (Feature Flags & Configurations) at build time.

The ability to pack custom deployment rules and configurations at build time allows teams to control elements which are required at startup time without introducing any latency (fetching data from the network).

As opposed to default values which handle flag defaults, embedded feature flags allow for custom default deployment rules, i.e: open a feature only for beta users in the US.

Below are Android, iOS, and JavaScript embedded feature flags installation instructions.

Android

  1. Add to your build.gradle the following classpath

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'io.rollout.rox:rox-configuration-plugin:0.0.1'
        }
    }
  2. Apply the plugin in your build.gradle

    apply plugin: io.rollout.android.RoxConfigurationPlugin

iOS

Add a new Run Script phase to your target, with the following line

“${SRCROOT}“/Pods/ROXCore/lib/store_rox_configuration.sh -k “<your_app_key>”

JavaScript

  1. Install the plugin - npm install --save-dev rox-embedded-webpack.

  2. Add the plugin to you Webpack config.

const ROXEmbeddedPlugin = require('rox-embedded-webpack-plugin');
module.exports = {
  entry: //...,
  output: //...,
  plugins: [
    new ROXEmbeddedPlugin(options)
  ]
}

Where options in an object with the following keys

{
   app: <YOUR APP KEY>,
   platform: <YOUR_PLATFORM_OF_CHOICE>, // (you can use 'Browser' here)
   output: <ABS_TEMPORARY_OUTPUT_DIR> // (OPTIONAL)
}