You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab rules:changes是否支持相对/绝对路径及匹配规则问询

GitLab CI rules:changes 路径匹配规则解答

主问题:rules:changes 是否同时支持相对路径与绝对路径?

支持,但这里的「绝对路径」是相对于仓库根目录的路径,而非系统级绝对路径;相对路径则是相对于.gitlab-ci.yml所在位置的路径(若配置文件在仓库根目录,两者指向一致)。


针对列出的三个具体问题:

  1. 示例中的Dockerfile匹配范围是什么?
    示例里的Dockerfile仅匹配仓库根目录下的同名文件,不会匹配子目录中的Dockerfile。它等价于./Dockerfile或/Dockerfile(这里的/是仓库根目录的绝对路径标识)。

  2. 如何匹配任意层级的Dockerfile?
    使用通配符**表示任意深度的目录层级,写法如下:

    rules:
      - if: $CI_PIPELINE_SOURCE == "merge_request_event"
        changes:
          - **/Dockerfile
    

    此配置会匹配仓库内所有目录(包括根目录)下的Dockerfile。

  3. 如何明确指定根目录下的Dockerfile?
    三种写法效果完全一致,均可明确指向根目录下的文件:

    • 直接写文件名:Dockerfile
    • 相对路径写法:./Dockerfile
    • 仓库根绝对路径写法:/Dockerfile

内容的提问来源于stack exchange,提问作者Gordon Fogus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 06:22:13