【问题标题】:How to skip a build step based on environment variable in Buldkite pipeline.yml file?如何跳过 Buldkite pipeline.yml 文件中基于环境变量的构建步骤?
【发布时间】:2020-01-30 06:19:50
【问题描述】:

我有一个用于 buildkite CI 的 pipeline.yml:

steps:
  - label: "Test"
    command: test.sh
    skip: "$BUILDKITE_BRANCH == 'mybranch'"

如果分支名称为mybranch,我想跳过构建步骤,但此设置在 buildkite 中似乎不起作用。此步骤仍在运行。我想知道如何在skip 条件下使用环境变量。我知道我可以检查test.sh 脚本中的环境,但我真的不想这样做。

【问题讨论】:

    标签: continuous-integration buildkite


    【解决方案1】:

    skip 如果有任何值,将导致跳过该步骤。该值旨在指示跳过该步骤的原因,并且不会将其评估为布尔值。

    有一种内置方法可以使用 branch configuration 跳过特定分支的步骤:

    steps:
      - label: "Test"
        command: test.sh
        branches: "!mybranch"
    

    最近还引入了一种使用更复杂规则的方法,称为conditionals,尽管它可能超出了这里的要求:

    steps:
      - label: "Test"
        command: test.sh
        if: build.branch != "mybranch"
    

    【讨论】:

    • 对,但它不支持我所有的环境变量。我正在寻找在 if 条件下使用自定义变量。
    • 啊,对不起,这个上下文不在问题中。例如,build.env("BUILDKITE_BRANCH") 有效,但尚不支持自定义环境。或许将您的具体案例发送电子邮件至 support@buildkite.com,也许我们可以为您解决?
    猜你喜欢
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2015-06-20
    相关资源
    最近更新 更多