GitLab CI配置文件gitlab-ci.yml中&default语法的含义是什么?
YAML 锚点语法说明
&default 属于 YAML 原生的锚点定义语法,并非 GitLab CI 特有的规则,作用是给对应配置块打可复用的标记,减少重复配置:
- 语法规则:
&<锚点名称>:放在配置字段后,会将当前字段对应的所有值内容保存为指定名称的锚点,供后续其他位置引用*<锚点名称>:对应锚点的引用语法,会将锚点保存的内容原样插入到当前引用位置
- 结合你提供的配置示例解释:
你贴出的配置中,首先在.default隐藏作业的only字段后定义了锚点&default,锚点保存的内容就是以下3种触发规则:
后续- master - dev - merge_requestscode-check作业里的only: *default就是直接引用这个锚点,等效于直接把上面3条触发规则写在code-check的only字段下,和如下写法完全等价:code-check: stage: lint script: - pip install black - black . - black --check . - black --include \.pyi?$ . - black --exclude \.git\.venv . - black --line-length 88 . allow_failure: true only: - master - dev - merge_requests
这种写法的核心作用是避免重复配置:如果有多个作业都需要使用相同的触发规则,只需要修改锚点处的配置,所有引用该锚点的位置都会同步生效,不需要逐个修改每个作业的配置。
内容的提问来源于stack exchange,提问作者Santhosh
相关产品推荐
相关产品推荐

