如何用规则替换 gitlab-ci.yml 文件中的除标签和推送之外的内容?

Ash*_*tap 2 gitlab gitlab-ci

我有一个 ci-cd 管道,当前正在使用以下除条件:

except:
    - tags
    - pushes
Run Code Online (Sandbox Code Playgroud)

随着条件的增加,现在我必须使用rules. 我现在无法使用onlyand exceptwith 规则。有人可以帮我弄这个吗?

我尝试过以下片段:

rules:
      - if: 'tags && pushes'
        when: never
Run Code Online (Sandbox Code Playgroud)

但这会产生以下错误:

jobs:build_info:rules:rule if invalid expression syntax
Run Code Online (Sandbox Code Playgroud)

eri*_*sas 5

使用预定义的环境变量:

rules:
 - if: '$CI_PIPELINE_SOURCE == "push" || $CI_COMMIT_TAG != null'
   when: never
Run Code Online (Sandbox Code Playgroud)