|
- # -*- 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("local-worker",max_builds=1)
- ]
-
- # '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={{buildbot_builders.keys()}}))
- c['schedulers'].append(schedulers.ForceScheduler(
- name="force",
- builderNames={{buildbot_builders.keys()}}))
-
- ####### 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.
-
- c['builders'] = []
-
- {% for builder_name in buildbot_builders.keys() %}
- {% set builder = buildbot_builders[builder_name] %}
- factory = util.BuildFactory()
-
- {% for repo in builder.repos %}
- factory.addStep(steps.GitHub(
- name='{{repo.name}}',
- repourl='{{repo.repourl}}',
- mode='incremental',
- workdir='{{repo.workdir}}',
- alwaysUseLatest=True,
- ))
- {% endfor %}
-
- {% for cmd in builder.shell_commands %}
- factory.addStep(steps.ShellCommand(
- name='{{cmd.name}}',
- command='{{cmd.command}}',
- workdir='{{cmd.workdir}}',
- ))
- {% endfor %}
-
- c['builders'].append(
- util.BuilderConfig(
- name="{{builder_name}}",
- workernames=["local-worker"],
- factory=factory
- )
- )
-
- {% endfor %}
-
- ####### 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'] = "covid-videoplattform CICD"
- c['titleURL'] = "https://github.com/covid-videoplattform"
-
- # 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'] = "https://{{buildbot_server_name}}/"
-
- # minimalistic config to activate new web UI
- c['www'] = dict(
- port=8010,
- plugins = dict(
- waterfall_view={},
- console_view={},
- grid_view={}
- ),
- change_hook_dialects={
- 'github': {}
- },
- )
-
- ####### 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}}",
- }
|