总是触发带有“when:manual”的gitlab规则

Mar*_*rer 4 gitlab-ci

尝试对自动为标签运行并使用规则为特定分支手动运行的作业进行建模。然而,该作业总是在没有用户干预的情况下触发

ismanual:
  stage: prepare
  rules:
    # Always deliver a tagged build
    - if: '$CI_COMMIT_TAG != ""'
      when: on_success
    # Manual deliver a feature branch build
    - if: '$CI_COMMIT_BRANCH =~ /feature\/.*/'
      when: manual
  script:
    - echo "hello"
Run Code Online (Sandbox Code Playgroud)

我正在使用 gitlab.com!

dan*_*elz 7

您需要更改对提交标签的检查。在规则子句中,您可以检查如下所示的变量,因此无需将其与空字符串进行比较。

ismanual:
  stage: prepare
  rules:
    # Always deliver a tagged build
    - if: '$CI_COMMIT_TAG'
    # Manual deliver a feature branch build
    - if: '$CI_COMMIT_BRANCH =~ /feature\/.*/'
      when: manual
  script:
    - echo "hello"
Run Code Online (Sandbox Code Playgroud)