我在buildbot上遇到了一个非常奇怪的问题,设置了env属性。 奇怪的是,我有一些配置,其中env配置按预期工作。
显示不当行为的情景如下:
slave有以下shell命令:
qmake = ShellCommand(
command = ["qmake"],
warnOnWarnings = True,
haltOnFailure = True,
workdir = nr.iqac_platform_build_root,
name = "qmake",
env = nr.centos510_64bit_env_dict )
其中
centos510_64bit_env_dict = { 'PATH': ["/usr/local/Trolltech/Qt-4.8.5/bin", "${PATH}"] }
问题是未正确设置环境且shell命令失败。 从主日志我可以看到:
2014-08-09 16:14:05+0200 [-] ShellCommand.startCommand(cmd=<RemoteShellCommand '['qmake']'>)
2014-08-09 16:14:05+0200 [-] cmd.args = {'workdir': 'build/nr_libs/uniqlogger/lib', 'timeout': 1200, 'env': None, 'want_stdout': 1, 'usePTY': 'slave-config', 'maxTime': None, 'logEnviron': True, 'initial_stdin': None, 'want_stderr': 1, 'logfiles': {}}
2014-08-09 16:14:05+0200 [-] <RemoteShellCommand '['qmake']'>: RemoteCommand.run [6]
2014-08-09 16:14:05+0200 [-] command '['qmake']' in dir 'build/nr_libs/uniqlogger/lib'
2014-08-09 16:14:05+0200 [Broker,0,192.168.23.230] <RemoteShellCommand '['qmake']'> rc=1
2014-08-09 16:14:05+0200 [-] closing log <buildbot.status.logfile.LogFile instance at 0x20ba488>
2014-08-09 16:14:05+0200 [-] releaseLocks(<buildbot.steps.shell.ShellCommand object at 0x20943d0>): []
2014-08-09 16:14:05+0200 [-] step 'qmake' complete: failure
2014-08-09 16:14:05+0200 [-] <Build iqac_platform_centos510_64b>: build finished
2014-08-09 16:14:05+0200 [-] sending mail (780 bytes) to ['s.borghese@netresults.it']
2014-08-09 16:14:05+0200 [-] Starting factory <twisted.mail.smtp.ESMTPSenderFactory instance at 0x20ba368>
2014-08-09 16:14:05+0200 [-] releaseLocks(<BuildSlave 'centos510_64bit'>): []
2014-08-09 16:14:05+0200 [ESMTPSender,client] Stopping factory <twisted.mail.smtp.ESMTPSenderFactory instance at 0x20ba368>
对我来说,上面的日志意味着没有设置env。当然我可能错了,这就是为什么我要求一些建议。 如前所述,我已经将env配置属性与在MacOSX上运行的另一个slave一起使用(由于主机现在已经关闭,无法检索从属版本)
知道我做错了什么?
您认为奴隶版本&gt;主版本可能是个问题吗?
已经使用easy_install安装了slave,而且是python 2.6的setuptools检索到的版本