我们可以在 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
在我的 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