gitlab ci 管道文件中的引用策略是什么?

Dan*_*ens 3 gitlab gitlab-ci

我正在使用 Gitlab 并添加了一个.gitlab-ci.yml文件来触发我的管道。我不明白refsonly关键字结合使用时的目的。这是我使用的一个例子:

only:
     - /^newlib.*$/
Run Code Online (Sandbox Code Playgroud)

但在另一个例子中,我发现了这一点:

only:
    refs:
      - master
Run Code Online (Sandbox Code Playgroud)

该文档仅说明:

The refs strategy can take the same values as the simplified only/except configuration.
Run Code Online (Sandbox Code Playgroud)

任何人都可以分享一些关于这一点的信息吗?两者有什么区别?

leo*_*het 5

您的两个示例之间没有区别。正如您自己引用的文档:

refs 策略可以采用与简化的 only/except 配置相同的值。

也就是说,只有refs在您还想使用其他选项时才需要使用:changes,kubernetesvariables

该文档有一些使用多个选项的示例,例如:

test:
  script: npm run test
  only:
    refs:
      - master
      - schedules
    variables:
      - $CI_COMMIT_MESSAGE =~ /run-end-to-end-tests/
    kubernetes: active
Run Code Online (Sandbox Code Playgroud)

如果你删除了refs你会得到一个无效的 yml 文件