|
- # -*- python -*-
- # ex: set filetype=python:
-
- from buildbot.plugins import *
-
- # This is a sample buildmaster config file. It must be installed as
- # 'master.cfg' in your buildmaster's base directory.
-
- # This is the dictionary that the buildmaster pays attention to. We also use
- # a shorter alias to save typing.
- c = BuildmasterConfig = {}
-
- ####### WORKERS
-
- # The 'workers' list defines the set of recognized workers. Each element is
- # a Worker object, specifying a unique worker name and password. The same
- # worker name and password must be configured on the worker.
- c['workers'] = [worker.LocalWorker("example-worker")]
-
- # 'protocols' contains information about protocols which master will use for
- # communicating with workers. You must define at least 'port' option that workers
- # could connect to your master with this protocol.
- # 'port' must match the value configured into the workers (with their
- # --master option)
- c['protocols'] = {'pb': {'port': 9989}}
-
- ####### CHANGESOURCES
-
- # the 'change_source' setting tells the buildmaster how it should find out
- # about source code changes. Here we point to the buildbot version of a python hello-world project.
-
- c['change_source'] = []
- c['change_source'].append(changes.GitPoller(
- 'git://github.com/buildbot/hello-world.git',
- workdir='gitpoller-workdir', branch='master',
- pollInterval=300))
-
- ####### SCHEDULERS
-
- # Configure the Schedulers, which decide how to react to incoming changes. In this
- # case, just kick off a 'runtests' build
-
- c['schedulers'] = []
- c['schedulers'].append(schedulers.SingleBranchScheduler(
- name="all",
- change_filter=util.ChangeFilter(branch='master'),
- treeStableTimer=None,
- builderNames=["runtests"]))
- c['schedulers'].append(schedulers.ForceScheduler(
- name="force",
- builderNames=["runtests"]))
-
- ####### BUILDERS
-
- # The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
- # what steps, and which workers can execute them. Note that any particular build will
- # only take place on one worker.
-
- factory = util.BuildFactory()
- # check out the source
- factory.addStep(steps.Git(repourl='git://github.com/buildbot/hello-world.git', mode='incremental'))
- # run the tests (note that this will require that 'trial' is installed)
- factory.addStep(steps.ShellCommand(command=["trial", "hello"],
- env={"PYTHONPATH": "."}))
-
- c['builders'] = []
- c['builders'].append(
- util.BuilderConfig(name="runtests",
- workernames=["example-worker"],
- factory=factory))
-
- ####### BUILDBOT SERVICES
-
- # 'services' is a list of BuildbotService items like reporter targets. The
- # status of each build will be pushed to these targets. buildbot/reporters/*.py
- # has a variety to choose from, like IRC bots.
-
- c['services'] = []
-
- ####### PROJECT IDENTITY
-
- # the 'title' string will appear at the top of this buildbot installation's
- # home pages (linked to the 'titleURL').
-
- c['title'] = "Hello World CI"
- c['titleURL'] = "https://buildbot.github.io/hello-world/"
-
- # the 'buildbotURL' string should point to the location where the buildbot's
- # internal web server is visible. This typically uses the port number set in
- # the 'www' entry below, but with an externally-visible host name which the
- # buildbot cannot figure out without some help.
-
- c['buildbotURL'] = "http://localhost:8010/"
-
- # minimalistic config to activate new web UI
- c['www'] = dict(port=8010,
- plugins=dict(waterfall_view={}, console_view={}, grid_view={}))
-
- ####### DB URL
-
- c['db'] = {
- # This specifies what database buildbot uses to store its state.
- # It's easy to start with sqlite, but it's recommended to switch to a dedicated
- # database, such as PostgreSQL or MySQL, for use in production environments.
- # http://docs.buildbot.net/current/manual/configuration/global.html#database-specification
- 'db_url' : "{{buildbot_database_url}}",
- }
|