是否可以仅在 .gitlab-ci.yml 文件中设置顶级/除外?

jco*_*lum 4 continuous-integration build gitlab

我的 CI 文件中有三个阶段,它们都只有/除了这样:

test:
  only:
    - tags
  except:
    - branches
  script:
    - npm run test
Run Code Online (Sandbox Code Playgroud)

在三个地方拥有唯一/除外似乎是多余的。有没有办法在脚本配置的顶层设置它?不要在文档中看到类似的内容。

Gui*_*ume 6

您可以使用地图合并功能:https : //docs.gitlab.com/ee/ci/yaml/#special-yaml-features

.job_template: &job_definition
  only:
    - tags
  except:
    - branches

test1:
    <<: *job_definition
    script:
      - npm run test

test2:
    <<: *job_definition
    script:
      - # ...
Run Code Online (Sandbox Code Playgroud)