从这个buildbot主配置开始:
# -*- python -*-
# ex: set filetype=python:
from buildbot.plugins import *
c = BuildmasterConfig = {}
c['workers'] = [worker.Worker("example-worker", "pass")]
c['protocols'] = {'pb': {'port': 9989}}
c['change_source'] = []
c['schedulers'] = []
c['schedulers'].append(schedulers.ForceScheduler(
name="force",
builderNames=["awesomesauce", "runtests"]))
factory = util.BuildFactory()
factory.addStep(steps.ShellCommand(command=['echo', 'hi']))
c['builders'] = []
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["example-worker"],
factory=factory))
c['builders'].append(
util.BuilderConfig(name="awesomesauce",
workernames=["example-worker"],
factory=factory))
c['status'] = []
c['title'] = "Cool Beans"
c['titleURL'] = "http://example.com"
c['buildbotURL'] = "http://localhost:8010/"
c['www'] = dict(port=8010,
plugins=dict(waterfall_view={}, console_view={}))
c['db'] = {
'db_url' : "sqlite:///state.sqlite",
}
如果我将ForceScheduler
更改为具有以下内容:
builderNames=['awesomesauce', 'runtests', 'coolbeans']
然后只需复制构建器追加块并更改名称:
c['builders'].append(
util.BuilderConfig(name="coolbeans",
workernames=["example-worker"],
factory=factory))
然后当我这样做时:
buildbot reconfigure master
它说它添加了新的构建器,但是当我进入构建器页面时,它只列出了原始两个构建器的worker,并且构建器页面中缺少force
按钮。茹罗。
有没有办法在不完全重新启动buildbot master的情况下修复worker / builder链接?
答案 0 :(得分:1)
对于Force按钮,我说你还必须重新配置ForceScheduler,这不是你描述的一部分。
对于工作人员分配,看起来确实这是我们的重新配置算法的错误 http://trac.buildbot.net/ticket/3629#ticket
此错误仅影响UI。构建器仍配置有此工作程序,并且应该能够使用该工作程序启动构建