如何通过环境变量识别 Buildbot 环境?

How can I identify a Buildbot environment by environnment variable?

Buildbot provide an environment variable in CI jobs to allow it's identification like e.g. Travis does with TRAVIS吗?

最后我检查了 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 参数使得此构建器发出的所有 shell 命令都将使用我在字典中声明的环境变量。

我使用 BUILDBOT 来检测代码是否完全 运行ning 在 buildbot 中。其他变量被传递给 Sauce Labs 和 BrowserStack 等服务,以便识别那里的构建,或者它们用于诊断目的。