В последний раз я проверял, Buildbot не устанавливает переменную окружения, которая имеет целью указать, что код сборки выполняется через buildbot. В моей собственной установке мне нужно несколько переменных, которые использует мой код сборки, поэтому я настроил словарь так:
from buildbot.plugins import util
env = {
'BUILDBOT': '1',
'BUILD_TAG': util.Interpolate("%(prop:buildername)s-%(prop:buildnumber)s"),
'BUILDER': util.Property('buildername')
}
Этот словарь можно затем использовать для настройки сборщиков:
util.BuilderConfig(
name="foo",
workernames=["a", "b"],
env=env, ...)
Параметр env
делает так, чтобы все команды оболочки, выполненные этим компоновщиком, использовали переменные среды, которые я объявил в своем словаре.
Я использую BUILDBOT
, чтобы определить, работает ли код в buildbot вообще. Другие переменные передаются таким службам, как Sauce Labs и BrowserStack, чтобы идентифицировать там сборки, или они используются для диагностических целей.