master-cfg/config/builders/bicycle_statistics.py
2019-11-22 13:07:55 +01:00

61 lines
2.7 KiB
Python

from buildbot.plugins import changes, schedulers, steps, util, worker
REPOURL_DOCKER = 'https://git.blackfinn.de/docker/bicycle-statistics.git'
REPOYRL_PYTHON = 'https://git.blackfinn.de/python/bicycle-statistics.git'
BRANCH = util.Property('branch', default='master')
COMMANDS = []
COMMANDS.append(['docker', 'build', '--no-cache', '-t', 'bicycle-statistics', '.'])
COMMANDS.append(['docker', 'rm', '-f', 'bicycle-statistics'])
COMMANDS.append(['docker', 'run', '-d', '-v',
'/srv/nextcloud/data/tkl/files/Bicycle:/bs_in', '-v',
'/srv/bicycle.blackfinn.de/data:/bs_out', '--name',
'bicycle-statistics', '--restart', 'always', 'bicycle-statistics'])
# Change sources
cs_bicycle_python = changes.GitPoller(project='bicycle-statistics-python',
repourl=REPOYRL_PYTHON,
branches=True, pollInterval=60)
cs_bicycle_docker = changes.GitPoller(project='bicycle-statistics-docker',
repourl=REPOURL_DOCKER,
branches=True, pollInterval=60)
# Factory
factory = util.BuildFactory()
factory.addStep(steps.Git(repourl=REPOURL_DOCKER, branch=BRANCH))
for cmd in COMMANDS:
factory.addStep(steps.ShellCommand(command=cmd))
# Worker
bicycle_worker = worker.DockerLatentWorker('buildbot-docker-worker', 'pass',
docker_host='tcp://192.168.178.39:2375',
image='buildbot-docker-worker',
volumes=['/var/run/docker.sock:/var/run/docker.sock'])
# Builder
bicycle_builder = util.BuilderConfig(name='bicycle_statistics',
workernames=["buildbot-docker-worker"],
factory=factory)
# Schedulers
change_scheduler = schedulers.SingleBranchScheduler(name="bicycle_statistics",
change_filter=util.ChangeFilter(project=['bicycle-statistics-python',
'bicycle-statistics-docker']),
treeStableTimer=None, builderNames=["bicycle_statistics"])
force_scheduler = schedulers.ForceScheduler(name="force_bicycle-statistics", builderNames=["bicycle_statistics"])
def append(c):
c['change_source'].append(cs_bicycle_python)
c['change_source'].append(cs_bicycle_docker)
c['workers'].append(bicycle_worker)
c['builders'].append(bicycle_builder)
c['schedulers'].append(change_scheduler)
c['schedulers'].append(force_scheduler)
return c