ошибка конфигурации мастера сборки бота

Я установил buildbot и это мой master.cfg:

c = BuildmasterConfig = {}

from buildbot.buildslave import BuildSlave
c['slaves'] = [BuildSlave("windows", "windows32")]

c['slavePortnum'] = 9989

from buildbot.scheduler import Scheduler
c['schedulers'] = []
c['schedulers'].append(Scheduler(
        name="start_scheduler",
        branch=None,
        treeStableTimer=None,
        builderNames=["win32"]
))

from buildbot.process.factory import BuildFactory
from buildbot.steps.shell import ShellCommand
win32 = BuildFactory()
win32.addStep(ShellCommand(command=["touch", "dummfile"]))

from buildbot.config import BuilderConfig

c['builders'] = []
c['builders'].append(BuilderConfig(
        name="win32", # also default name for builddir
        slavenames=["windows"],
        factory=win32
))

Когда я запускаю buildbot с помощью «buildbot start .» я получаю это сообщение об ошибке:

buildmaster@builder:~/master$ buildbot start .
Following twistd.log until startup finished..
[-] Log opened.
[-] twistd 10.1.0 (/usr/bin/python 2.6.6) starting up.
[-] reactor class: twisted.internet.selectreactor.SelectReactor.
[-] Creating BuildMaster -- buildbot.version: 0.8.3p1
[-] loading configuration from /home/buildmaster/master/master.cfg
[-] error while parsing config file
[-] error during loadConfig
[-] Unhandled Error
 Traceback (most recent call last):
   File "/usr/lib/python2.6/dist-packages/twisted/scripts/_twistd_unix.py",
   line 317, in startApplication
 app.startApplication(application, not self.config['no_save'])
   File "/usr/lib/python2.6/dist-packages/twisted/application/app.py",
   line 648, in startApplication
 service.IService(application).startService()
   File "/usr/lib/python2.6/dist-packages/twisted/application/service.py",
   line 278, in startService
 service.startService()
   File "/usr/local/lib/python2.6/dist-packages/buildbot/master.py",
   line 670, in startService
 self.loadTheConfigFile()
 --- <exception caught here> ---
   File "/usr/local/lib/python2.6/dist-packages/buildbot/master.py",
   line 703, in loadTheConfigFile
 d = self.loadConfig((F))
   File "/usr/local/lib/python2.6/dist-packages/buildbot/master.py",
   line 727, in loadConfig
 exec f in localDict
   File "/home/buildmaster/master/master.cfg", line 17, in <module>
 from buildbot.buildslave import BuildSlave
   File "/usr/local/lib/python2.6/dist-packages/buildbot/buildslave.py",
   line 27, in <module>
 from buildbot.status.mail import MailNotifier
   File "/usr/local/lib/python2.6/dist-packages/buildbot/status/mail.py",
   line 28, in <module>
 from twisted.mail.smtp import ESMTPSenderFactory
 exceptions.ImportError: No module named mail.smtp

[-] The new config file is unusable, so I'll ignore it.
[-] I will keep using the previous config file instead.

The buildmaster appears to have encountered an error in the master.cfg config
file during startup. It is probably running with an empty configuration right
now. Please inspect and fix master.cfg, then restart the buildmaster.

Может ли кто-нибудь сказать мне, где ошибка? Спасибо.


person SandyBr    schedule 05.02.2011    source источник


Ответы (2)


Похоже, у вас не установлен twisted.mail.

person nosklo    schedule 05.02.2011
comment
Если вы не используете MailNotifier, эта зависимость является необязательной для магистрали (и, следовательно, в версии 0.8.6+ после ее выпуска). - person Tom Prince; 05.02.2012

Вы забыли добавить подкласс почты из класса статуса в buildbot

from buildbot.status import mail

Добавьте это, и это должно работать; Кстати, в вашем конфигурационном файле много чего не хватает; обычно, если вы сохраните стандартную версию, которая поставляется с buildbot, и измените ее, у вас не будет проблем; в то время как если вы начинаете отрезать вещи, не зная, что они делают, это довольно опасно.

Вы установили строительный бот, выполняя процедуру на сайте строительного бота? Обычно он идет со всем установленным, но если вы устанавливаете на windows например, у вас не могло быть ни витых, ни других базовых компонентов для его запуска, поэтому он не будет работать корректно.

Надеюсь, что это поможет!

person Community    schedule 08.02.2011
comment
Приведенная конфигурация не использует цель статуса MailNotifer. - person Tom Prince; 05.02.2012