Skip to content

RTBkit Binary Package

Mark S. Weiss edited this page Apr 28, 2014 · 8 revisions

Over time, the notion of roles appeared within the RTBkit ecosystem.

  • Some people are interested in RTBkit, because they want to evolve it, contribute to it and so forth: These people usually work from the Github repository and submit patches or pull requests
  • Some people are interested in RTBkit, because they have campaigns to run: These people usually do not give much importance about how RTBkit is built, its internals or it's internal architecture. Instead, they are concerned about how to write bidding agents or augmentors, how to deploy and configure RTBkit, budget management, reporting, fail over, and so forth.

We now describe RTBkit Binary Package, or an alternative way to work with RTBkit targeting users in the second category above.

It is now possible to construct a binary package and use it to deploy and work with RTBkit, without having to rebuild from the distribution tree. The only invocations of make required are to build the sample or to develop (e.g., a bidding agent, or an augmentor).

By definition, an RTBkit Binary Package ought to contain everything you need when you belong to the second category above. Every exception to this rule, should be considered a bug and submitted to us.

1) How to build a RTBkit Binary Package

The RTBkit root directory contains a Python script which can be used in order to build an RTBkit Binary Package.

$ ./export_binary.py 
usage: export_binary.py [-h] --rtbkit_root RTBKIT_ROOT --local_root LOCAL_ROOT
                        [--prefix PREFIX]
export_binary.py: error: argument --rtbkit_root is required

This script can only be executed from a source tree in which the following command have been run successfully:

$ make compile test

Classically, it would be executed as follows:

$ ./export_binary.py  --rtbkit_root . --local_root ../local

This produces a compressed tarball, which unless the --prefix option is used, is named: rtbkit-YYYYMMDD.tar.bz2, such as: rtbkit-20140401.tar.bz2

2) How to use a RTBkit Binary Package

Once built according to the procedure described above, then tarball can be distributed and used on any Ubuntu 12.04LTS machine:

$ tar jxf rtbkit-20140401.tar.bz2
$ cd rtbkit-20140401
$ source rtbkit-20140401.env.sh
$ cd examples 
$ make -j4
$ cd ..
$ zkServer.sh start
$ mock_exchange_runner >& /tmp/mock_exchange_runner.out &

and from this point on, you can run the demo stack, as explained here.

Note that all the examples and demo, can be built from the examples directory, by running the command make. You may want to edit the Makefile in order to suit your needs -- for example, to add support for your own source files. Yet, everything in this makefile is usable as is, provided that you have sourced the environment file, as on line 3 in the snippets above.

The examples directory contains samples, which can be used in order to bootstrap the development of your own processes (e.g., bidding_agent_ex, ...).

Clone this wiki locally