Buildbot не работает при запуске в качестве демона на Mac OSX 10.8
Я создал buildslave для управления сборками Mac OSX на небольшом яблочном компьютере в моей комнате. Все прошло гладко, и, прежде чем я понял это, мой сервер Apple начал производить первые несколько сборок без каких-либо проблем.
Поскольку все работало безупречно, я добавил buildslave в качестве демона в соответствии с этим руководством: http://trac.buildbot.net/wiki/UsingLaunchd
Одна перезагрузка и $ sudo launchctl start ch.pixelcloud.game.lightship
позже и перестал работать. Я заметил, что он также перестает работать, когда я запускаю buildslave через SSH и закрываю SSH-соединение.
После некоторого поиска в Google я обнаружил, что программы теряют некоторые общие функции (в данном случае поиск DNS), когда пользователь, который запустил процесс, выходит из системы. Кажется, я исправил это, добавив 8.8.8.8 в список DNS-серверов, но сейчас я сталкиваюсь с другой проблемой, и я не могу до конца жизни выяснить, что ее вызывает.
Это вывод ошибок в веб-интерфейсе buildbot:
git --version
in dir /Users/thecomet/buildbot/slaves/lightship/basedir/test-macosx-i686-applebloom/build (timeout 1200 secs)
watching logfiles {}
argv: ['git', '--version']
environment:
HOME=/Users/thecomet
LOGNAME=thecomet
PATH=/usr/bin:/bin:/usr/sbin:/sbin
PWD=/Users/thecomet/buildbot/slaves/lightship/basedir/test-macosx-i686-applebloom/build
SHELL=/bin/zsh
TMPDIR=/var/folders/zS/zSzxVZUsHyOdGytmqY0aUE+++TM/-Tmp-/
USER=thecomet
__CF_USER_TEXT_ENCODING=0x1F6:0:0
using PTY: False
Upon execvpe git ['git', '--version'] in environment id 4320746024
:Traceback (most recent call last):
File "/Users/thecomet/buildbot/slaves/lightship/lightship/lib/python2.7/site-packages/twisted/internet/process.py", line 424, in _fork
environment)
File "/Users/thecomet/buildbot/slaves/lightship/lightship/lib/python2.7/site-packages/twisted/internet/process.py", line 502, in _execChild
os.execvpe(executable, args, environment)
File "/Users/thecomet/buildbot/slaves/lightship/lightship/bin/../lib/python2.7/os.py", line 355, in execvpe
_execvpe(file, args, env)
File "/Users/thecomet/buildbot/slaves/lightship/lightship/bin/../lib/python2.7/os.py", line 382, in _execvpe
func(fullname, *argrest)
OSError: [Errno 2] No such file or directory
program finished with exit code 1
elapsedTime=0.012076
Раб твистд.лог:
2015-06-30 01:41:03+0200 [Broker,client] startCommand:shell [id 761]
2015-06-30 01:41:03+0200 [Broker,client] RunProcess._startCommand
2015-06-30 01:41:03+0200 [Broker,client] git --version
2015-06-30 01:41:03+0200 [Broker,client] in dir /Users/thecomet/buildbot/slaves/lightship/basedir/test-macosx-i686-applebloom/build (timeout 1200 secs)
2015-06-30 01:41:03+0200 [Broker,client] watching logfiles {}
2015-06-30 01:41:03+0200 [Broker,client] argv: ['git', '--version']
2015-06-30 01:41:03+0200 [Broker,client] environment: {'SHELL': '/bin/zsh', '__CF_USER_TEXT_ENCODING': '0x1F6:0:0', 'PWD': '/Users/thecomet/buildbot/slaves/lightship/basedir/test-macosx-i686-applebloom/build', 'LOGNAME': 'thecomet', 'USER': 'thecomet', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/Users/thecomet', 'TMPDIR': '/var/folders/zS/zSzxVZUsHyOdGytmqY0aUE+++TM/-Tmp-/'}
2015-06-30 01:41:03+0200 [Broker,client] using PTY: False
2015-06-30 01:41:03+0200 [-] command finished with signal None, exit code 1, elapsedTime: 0.012076
2015-06-30 01:41:03+0200 [-] SlaveBuilder.commandComplete <buildslave.commands.shell.SlaveShellCommand instance at 0x10186c1b8>
Мастер twistd.log:
2015-06-30 01:41:19+0200 [-] <Build test-macosx-i686-applebloom>.startBuild
2015-06-30 01:41:19+0200 [-] [Contact] Builder <buildbot.status.builder.BuilderStatus instance at 0x7fdc28bb3368> with tags None started
2015-06-30 01:41:19+0200 [-] <RemoteShellCommand '['git', '--version']'>: RemoteCommand.run [761]
2015-06-30 01:41:19+0200 [-] command '['git', '--version']' in dir 'build'
2015-06-30 01:41:19+0200 [Broker,42,(ip removed)] <RemoteShellCommand '['git', '--version']'> rc=1
2015-06-30 01:41:19+0200 [-] Source step failed while running command <RemoteShellCommand '['git', '--version']'>
2015-06-30 01:41:19+0200 [-] releaseLocks(<buildbot.steps.source.git.Git object at 0x7fdbf56f2810>): []
Я могу подтвердить, что каталог существует. Почему я получаю эту ошибку?
Здесь $ uname -a
из buildslave, если это актуально:
Darwin applebloom 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386
Я использую Buildslave версии 0.8.12 и Twisted версии 15.2.1.