Как вызвать компоновщика в Buildbot после коммита с SVN? - PullRequest
0 голосов
/ 05 марта 2019

Я использую 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, и я не слишком разбираюсь в руководстве;это больше похоже на учебную книгу, а не на руководство, показывающее, как вы делаете вещи:)

Спасибо !!!!!

1 Ответ

0 голосов
/ 25 марта 2019

Он будет построен после того, как я удалил строку «split_file = util.svn.split_file_branches» в «change_source».В файле twistd.log будет журнал критического анализа «добавлено изменение с ревизией 20564 в базу данных».

Затем он будет построен нормально. Но я не знаю почему.Мне нужно перейти к этому параметру «split_file».

...