2012-07-31 64 views
0

我預計buildbot觸發構建器時,它檢測到一個新的修訂已被提交到SVN,但它失敗了。只有在添加了定期調度程序時才能觸發構建器,但這不是我的期望。根據日誌,buildbot調度程序不工作

2012-07-30 23:51:33-0400 [-] SVNPoller: polling 
2012-07-30 23:51:33-0400 [-] SVNPoller: _process_changes 11 .. 12 
2012-07-30 23:51:33-0400 [-] Adding change revision 12 
2012-07-30 23:51:34-0400 [-] SVNPoller: finished polling None 

檢測到新的提交,但不會觸發構建器。

以下是我的配置文件:

c = BuildmasterConfig = {} 
from buildbot.buildslave import BuildSlave 
c['slaves'] = [BuildSlave("example-slave", "pass")] 

c['slavePortnum'] = 9989 

INTERVAL = 30 

from buildbot.changes.svnpoller import SVNPoller, split_file_branches 
svn_url = 'file:///data/subREPOS/project' 
c['change_source'] = [] 
c['change_source'].append(SVNPoller(svnurl = svn_url, 
            split_file=split_file_branches, pollinterval=INTERVAL)) 

from buildbot.schedulers.basic import Scheduler 
from buildbot.scheduler import Periodic 

c['schedulers'] = [] 
c['schedulers'].append(Scheduler(name="General", branch=None, 
           treeStableTimer=3, 
           builderNames=["testbuilder"])) 
c['schedulers'].append(Periodic("Periodic", ['testbuilder', ], INTERVAL)) 

from buildbot.process.factory import BuildFactory 
from buildbot.steps.source import SVN 
from buildbot.steps.shell import ShellCommand, Compile 

factory = BuildFactory() 

factory.addStep(ShellCommand(command=["ls"])) 
factory.addStep(SVN(svn_url, None, 'incremental',workdir='sourcedir')) 
factory.addStep(Compile(workdir="sourcedir", command=["make"])) 

from buildbot.config import BuilderConfig 

c['builders'] = [] 
c['builders'].append(
    BuilderConfig(name="testbuilder", 
     slavenames=["example-slave"], 
     factory=factory)) 
+0

如果週期性被刪除,builer將無法工作。 – Charlie 2012-07-31 06:31:04

回答

0

如果SVNPoller工作正常,你應該看到像

added change Change(revision=u'08b4489c26aafc0600bb6cda647c47dc422a6839', who=u'Jaka Kranjc <[email protected]>', branch=u'master', comments=u'fix msvc build error - no strcasecmp', when=1346362922, category=None, project=u'gemrb', repository=u'git://gemrb.git.sourceforge.net/gitroot/gemrb/gemrb', codebase=u'') to database 

線我的猜測是分支中列出有一個比不同由Scheduler指定,因此它不會被觸發。