Gitlab CI:仅替换:* allowed_branches用规则:

时间:2020-09-15 19:02:09

标签: gitlab gitlab-ci

在特定情况下,如何将gitlab的“仅”语法替换为“规则”语法。

我以以下代码段为例:

myjob:
  <<: *anchor_code
  only: *my_branches

my_branches在哪里

.my_branches: &my_branches
  - master
  - release
  - /^hotfix\/.+$/

我想用gitlabs“ rules”语法替换以上作业中的“ only”。我将如何用规则来做到这一点?

2 个答案:

答案 0 :(得分:0)

myjob:
  <<: *anchor_code
  only: *my_branches
  rules:
    - $CI_COMMIT_BRANCH == "master"'
    - $CI_COMMIT_BRANCH == "release"'
    - $CI_COMMIT_BRANCH == /^hotfix\/.+$/'

不幸的是,我认为我们无法像您在原始yml中那样锚定分支。

答案 1 :(得分:0)

您无法将only:rules:合并在一项工作中,并且YAML定位符(也没有extends:)似乎也无法在其中工作。

myjob:
  <<: *anchor_code
  rules:
    - if: '$CI_COMMIT_BRANCH == "master"'
    - if: '$CI_COMMIT_BRANCH == "release"'
    - if: '$CI_COMMIT_BRANCH == "/^hotfix\/.+$/"'