Skip to content
This repository was archived by the owner on May 24, 2018. It is now read-only.

Configuration

Na'Tosha Bard edited this page Jul 6, 2014 · 2 revisions

At Unity, our buildbot configuration is set up in 3 parts:

  • master.cfg file - This is a normal buildbot master.cfg file with a few extra settings
  • globalconfig.py - This is where we store some constants (like the path to our external artifact server, et), and some utility functions that are used across multiple projects
  • various project files - These are separate python modules that define builders, schedulers, etc, for each project.

This particular setup is not required -- any buildbot-compatible setup will work. However, there are a few specific settings you will need in your master.cfg file. Therefore, we some example settings:

####### STATUS TARGETS

# 'status' is a list of Status Targets. The results of each build will be
# pushed to these targets. buildbot/status/*.py has a variety to choose from,
# including web pages, email senders, and IRC bots.

from buildbot.status import html
from buildbot.status.web import authz, auth

c['status'] = []

authz_cfg=authz.Authz(
    # change any of these to True to enable; see the manual for more
    # options
    auth=auth.LDAPAuth("ldap://my-ldap.server.com:port","dc=com"),
    gracefulShutdown = True,
    forceBuild = True, # use this to test your slave once it is set up
    forceAllBuilds = True,
    pingBuilder = True,
    stopBuild = True,
    stopAllBuilds = True,
    cancelPendingBuild = True,
    )
c['status'].append(html.WebStatus(http_port=8001, authz=authz_cfg, public_html="/path/to/katana/clone/katana/master/buildbot/status/web/files"))

####### PROJECT IDENTITY

# the 'title' string will appear at the top of this buildbot
# installation's html.WebStatus home page (linked to the
# 'titleURL') and is embedded in the title of the waterfall HTML page.

c['title'] = "My Katana Instance"
c['titleURL'] = "https://my-organization.com"

# the 'buildbotURL' string should point to the location where the buildbot's
# internal web server (usually the html.WebStatus page) is visible. This
# typically uses the port number set in the Waterfall 'status' entry, but
# with an externally-visible host name which the buildbot cannot figure out
# without some help.

c['buildbotURL'] = "http://my-katana-instance.com"

# data lifetime
c['changeHorizon'] = 2000
c['buildHorizon'] = 100
c['logHorizon'] = 100

c['caches'] = {
    'Changes' : 100,     # formerly c['changeCacheSize']
    'Builds' : 500,      # formerly c['buildCacheSize']
    'chdicts' : 100,
    'BuildRequests' : 10,
    'SourceStamps' : 20,
    'ssdicts' : 20,
    'objectids' : 10,
    'usdicts' : 100,
    }

c['multiMaster'] = True  # We use this because we have a separate server polling codebases

####### DB URL

c['db'] = {
    # This specifies what database buildbot uses to store its state.  You can leave
    # this at its default for all but the largest installations.
    'db_url' : "mysql://dbuser:[email protected]/dbname?max_idle=300",
    'db_poll_interval' : 6,
    }

####### Analytics Code
c['analytics_code'] = 'XXXYYYZZZ'

Clone this wiki locally