2013-04-09 17:30:10 -04:00
|
|
|
import os
|
|
|
|
from buildbot.buildslave import BuildSlave
|
|
|
|
from buildbot.schedulers.forcesched import ForceScheduler
|
|
|
|
from buildbot.config import BuilderConfig
|
|
|
|
from buildbot.process.factory import BuildFactory
|
|
|
|
from buildbot.steps.shell import ShellCommand
|
|
|
|
from buildbot.status import html
|
|
|
|
from buildbot.status.web import authz, auth
|
|
|
|
|
|
|
|
PORT_WEB = 8010 # Buildbot webserver port
|
|
|
|
PORT_MASTER = 9989 # Port where buildbot master listen buildworkers
|
|
|
|
TEST_USER = 'buildbot' # Credential to authenticate build triggers
|
|
|
|
TEST_PWD = 'docker' # Credential to authenticate build triggers
|
|
|
|
BUILDER_NAME = 'docker'
|
|
|
|
BUILDPASSWORD = 'pass-docker' # Credential to authenticate buildworkers
|
2013-05-01 14:20:10 -04:00
|
|
|
GOPATH = '/data/docker'
|
|
|
|
DOCKER_PATH = '{0}/src/github.com/dotcloud/docker'.format(GOPATH)
|
2013-04-09 17:30:10 -04:00
|
|
|
|
|
|
|
c = BuildmasterConfig = {}
|
|
|
|
|
|
|
|
c['title'] = "Docker"
|
|
|
|
c['titleURL'] = "waterfall"
|
|
|
|
c['buildbotURL'] = "http://localhost:{0}/".format(PORT_WEB)
|
|
|
|
c['db'] = {'db_url':"sqlite:///state.sqlite"}
|
|
|
|
c['slaves'] = [BuildSlave('buildworker', BUILDPASSWORD)]
|
|
|
|
c['slavePortnum'] = PORT_MASTER
|
|
|
|
|
|
|
|
c['schedulers'] = [ForceScheduler(name='trigger',builderNames=[BUILDER_NAME])]
|
|
|
|
|
|
|
|
# Docker test command
|
2013-05-01 14:20:10 -04:00
|
|
|
test_cmd = "GOPATH={0} make -C {1} test".format(GOPATH,DOCKER_PATH)
|
2013-04-09 17:30:10 -04:00
|
|
|
|
|
|
|
# Builder
|
|
|
|
factory = BuildFactory()
|
|
|
|
factory.addStep(ShellCommand(description='Docker',logEnviron=False,
|
|
|
|
usePTY=True,command=test_cmd))
|
|
|
|
c['builders'] = [BuilderConfig(name=BUILDER_NAME,slavenames=['buildworker'],
|
|
|
|
factory=factory)]
|
|
|
|
|
|
|
|
# Status
|
|
|
|
authz_cfg=authz.Authz(auth=auth.BasicAuth([(TEST_USER,TEST_PWD)]),
|
|
|
|
forceBuild='auth')
|
|
|
|
c['status'] = [html.WebStatus(http_port=PORT_WEB, authz=authz_cfg)]
|