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

时间:2018-10-29 08:35:05

标签: continuous-integration buildbot

Buildbot是否在CI作业中提供环境变量以允许其标识,例如Travis does with TRAVIS

1 个答案:

答案 0 :(得分:1)

最后我检查了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来检测代码是否完全在buildbot中运行。其他变量将传递给诸如Sauce Labs和BrowserStack之类的服务,以便在那里识别其内部版本,或者将它们用于诊断目的。