【问题标题】:How can I identify a Buildbot environment by environnment variable?如何通过环境变量识别 Buildbot 环境?
【发布时间】:2018-10-29 08:35:04
【问题描述】:

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

【问题讨论】:

    标签: continuous-integration buildbot


    【解决方案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 等服务,以识别那里的构建,或者用于诊断目的。

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-15
      相关资源
      最近更新 更多