我需要更改構建步驟的構建環境變量。但是當前的環境參數僅替換現有的環境變量。我如何附加到一個BuildBot ShellCommand的PATH環境變量
有誰知道我怎樣才能buildbot追加到PATH環境變量,而不是更換:
my_return.addStep(ShellCommand(command=["qmake", "{0}.pro".format(pro_name)],
env={'PATH': qt_path}))
我需要更改構建步驟的構建環境變量。但是當前的環境參數僅替換現有的環境變量。我如何附加到一個BuildBot ShellCommand的PATH環境變量
有誰知道我怎樣才能buildbot追加到PATH環境變量,而不是更換:
my_return.addStep(ShellCommand(command=["qmake", "{0}.pro".format(pro_name)],
env={'PATH': qt_path}))
可以擴展/通過將$PATH
在現有值的末尾追加到PATH環境變量。例如:
my_return.addStep(ShellCommand(command=["qmake", "{0}.pro".format(pro_name)],
env={'PATH': [qt_path, "${PATH}"]}))
在buildbot documentation上的更多詳細信息。
如果您知道路徑是什麼qmake
你爲什麼不只是使用的完整路徑該程序作爲第一個參數,而不是強制shell尋找它?
即假設qt_path
是/home/qt/bin
,只寫
my_return.addStep(ShellCommand(command=["/home/qt/bin/qmake",
"{0}.pro".format(pro_name)]))
由於它存在於主進程的環境中或者它存在於從屬環境中,是否將'$ {PATH}'解析爲'PATH'的值?有一個區別。我沒有在文檔中看到任何明確的信息。 (順便說一下,您已將文檔鏈接指向尚未發佈的Buildbot版本。) – Louis
我的Windows buildslave版本是0.8.4,並且失敗並顯示錯誤「exceptions.TypeError:expected string or buffer」,然而,一旦我升級到0.8.12,環境按預期工作。謝謝。 –
@Louis它解析爲從屬路徑變量。 –