Embedded Experiments

On this page

Embedded Experiments give teams the ability to pack CloudBees Feature Flags data (Experiments & 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/config defaults, embedded experiments allow for custom default deployment/config rules, i.e: open a feature only for beta users in the US.

Below are Android, iOS, and JavaScript embedded Experiments 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)
}