Как я могу определить среду Buildbot по переменной среды? - PullRequest
0 голосов
/ 29 октября 2018

Предоставляет ли Buildbot переменную среды в заданиях CI, чтобы обеспечить ее идентификацию, например, например, Трэвис делает с TRAVIS?

1 Ответ

0 голосов
/ 29 октября 2018

В последний раз я проверял, 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, чтобы идентифицировать там сборки, или они используются для диагностических целей.

...