我们可以在 gitlab 中使用 "only" 而不是 "rules" 吗?

Can we use "only" instead of "rules" in gitlab?

在我的 gitlab ci/cd 脚本中,我们使用规则

workflow:
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "developer" || $CI_COMMIT_BRANCH == "stage"|| ($CI_COMMIT_BRANCH =~ (/^([A-Z]([0-9][-_])?)?SPRINT(([-_][A-Z][0-9])?)+/i))
      when: always
    - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH != "developer" || $CI_COMMIT_BRANCH != "stage"|| ($CI_COMMIT_BRANCH !~ (/^([A-Z]([0-9][-_])?)?SPRINT(([-_][A-Z][0-9])?)+/i))
      when: never 

对于特定的工作,我们只使用

only:
  - developer
  - stage

很好。但我想要

这样的场景
only:
  - developer
  - stage
  - (/^([A-Z]([0-9][-_])?)?SPRINT(([-_][A-Z][0-9])?)+/i))

我使用的 sprint 不起作用。如果我使用“rules”,它的工作,但我想在我的脚本中使用“only”。请帮我解决这个问题。

与分支名称匹配的 only: directove does support regular expressions

但语法类似于 /^feature-.*/,因此请检查外部 () 是否挡路。

此外,5 ( 与 6 ) 之间似乎存在不平衡。

所以要么:

 (/^([A-Z]([0-9][-_])?)?SPRINT(([-_][A-Z][0-9])?)+/i)

 /^([A-Z]([0-9][-_])?)?SPRINT(([-_][A-Z][0-9])?)+/i