This repository was archived by the owner on May 24, 2018. It is now read-only.
forked from buildbot/buildbot
-
Notifications
You must be signed in to change notification settings - Fork 31
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'