我在项目中使用buildbot,并且设置了一个调度程序,该调度程序每次发生更改时都会自动构建项目,以测试其是否可以正常编译。
我认为buildbot可以检测到更改,但是在进行提交时调度程序无法生成。这是buildbot配置的相关部分:
SVNPOller
c['change_source'] = []
svnpoller = changes.SVNPoller(
repourl="https://url/svn/RD/2_Function/SW/SW_PC/qSmartTool",
project="qSmartTool",
pollInterval=60,
svnbin=r"C:\Program Files\TortoiseSVN\bin\svn.exe",
split_file=util.svn.split_file_branches)
c['change_source'].append(svnpoller)
计划程序
c['schedulers'] = []
c['schedulers'].append(schedulers.SingleBranchScheduler(
name="all",
change_filter=util.ChangeFilter(branch=None),
treeStableTimer=2*60,
builderNames=["runtests2"]))
c['schedulers'].append(schedulers.ForceScheduler(
name="force",
builderNames=["runtests2"]))
Builder
factory = util.BuildFactory()
# check out the source
factory.addStep(steps.SVN(repourl='https://url/svn/RD/2_Function/SW/SW_PC/qSmartTool',
mode='incremental',
haltOnFailure=True))
factory.addStep(steps.ShellCommand(command=["build.bat"],
haltOnFailure=True))
c['builders'] = []
c['builders'].append(
util.BuilderConfig(name="runtests2",
workernames=["example-worker"],
factory=factory))
我可以看到SVNPoller在twistd.log中检测到提交
2019-03-04 18:33:25+0800 [-] SVNPoller: _process_changes 20002 .. 20002
2019-03-04 18:33:25+0800 [-] SVNPoller: finished polling None
2019-03-04 18:34:25+0800 [-] SVNPoller: polling qSmartTool
2019-03-04 18:34:25+0800 [-] SVNPoller: no changes
2019-03-04 18:34:25+0800 [-] SVNPoller: _process_changes 20002 .. 20002
2019-03-04 18:34:25+0800 [-] SVNPoller: finished polling None
2019-03-04 18:35:25+0800 [-] SVNPoller: polling qSmartTool
2019-03-04 18:35:25+0800 [-] SVNPoller: _process_changes 20002 .. 20003
2019-03-04 18:35:25+0800 [-] Adding change revision 20003 //it knows a new revision
2019-03-04 18:35:25+0800 [-] SVNPoller: finished polling None
2019-03-04 18:36:25+0800 [-] SVNPoller: polling qSmartTool
2019-03-04 18:36:25+0800 [-] SVNPoller: no changes
2019-03-04 18:36:25+0800 [-] SVNPoller: _process_changes 20003 .. 20003
2019-03-04 18:36:25+0800 [-] SVNPoller: finished polling None
2019-03-04 18:37:25+0800 [-] SVNPoller: polling qSmartTool
2019-03-04 18:37:25+0800 [-] SVNPoller: no changes
但是它没有触发构建。我不知道我在做什么错。
任何人对此有何建议的建议?还有其他方法可以从SVN服务器获取更改吗?我是BuildBot的新手,我对手册的了解并不多。看起来更像是一本学术书籍,而不是一本向您展示如何做事的手册:)
谢谢!!!!!
答案 0 :(得分:0)
在删除“ change_source”中的“ split_file = util.svn.split_file_branches”行后,它将建立。 将会在twistd.log中有一个批评性日志“将版本20564的更改添加到数据库中”。
然后正常构建。但是我不知道为什么。我需要深入了解此参数“ split_file”。