咨询.gitlab-ci.yml中.dev_branch锚点语法的含义与作用
关于GitLab CI中
.dev_branch: &dev_branch - dev的语法解释 1. 锚点确认
&dev_branch确实是YAML的锚点,用于定义可复用的内容片段;而.dev_branch是GitLab CI中的隐藏作业模板——名称以.开头的作业不会被单独执行,仅作为可复用的模板存在。
2. 语法拆解
.dev_branch: 隐藏作业的标识,GitLab CI会跳过这个作业的单独执行,仅将其作为配置模板供其他作业引用。&dev_branch: 为该作业的内容(即- dev)创建锚点,后续其他位置可以通过*dev_branch直接引用这段内容。- dev: 模板的实际内容,是一个分支名称列表(这里仅包含dev分支)。
3. 在GitLab CI中的实际作用
这个语法的核心价值是复用分支规则配置,避免在多个作业中重复编写相同的分支列表,提升配置的可维护性。
比如原配置只是定义了锚点但未使用,若要让作业仅在dev分支触发,可以这样修改配置:
stages: - test - finish .dev_branch: &dev_branch - dev test: stage: test script: - echo "test" only: *dev_branch # 引用锚点,限定该作业仅在dev分支执行 finish: stage: finish script: - echo "finish" only: *dev_branch # 复用相同的分支规则
此时test和finish作业只会在dev分支触发。后续如果需要调整分支(比如改成develop),只需修改.dev_branch里的内容即可,无需逐个作业修改分支规则。
内容的提问来源于stack exchange,提问作者tuytuy20
相关产品推荐
相关产品推荐

