GitLab rules:changes是否支持相对/绝对路径及匹配规则问询
GitLab CI
rules:changes 路径匹配规则解答 主问题:rules:changes 是否同时支持相对路径与绝对路径?
支持,但这里的「绝对路径」是相对于仓库根目录的路径,而非系统级绝对路径;相对路径则是相对于.gitlab-ci.yml所在位置的路径(若配置文件在仓库根目录,两者指向一致)。
针对列出的三个具体问题:
示例中的
Dockerfile匹配范围是什么?
示例里的Dockerfile仅匹配仓库根目录下的同名文件,不会匹配子目录中的Dockerfile。它等价于./Dockerfile或/Dockerfile(这里的/是仓库根目录的绝对路径标识)。如何匹配任意层级的
Dockerfile?
使用通配符**表示任意深度的目录层级,写法如下:rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" changes: - **/Dockerfile此配置会匹配仓库内所有目录(包括根目录)下的
Dockerfile。如何明确指定根目录下的
Dockerfile?
三种写法效果完全一致,均可明确指向根目录下的文件:- 直接写文件名:
Dockerfile - 相对路径写法:
./Dockerfile - 仓库根绝对路径写法:
/Dockerfile
- 直接写文件名:
内容的提问来源于stack exchange,提问作者Gordon Fogus
相关产品推荐
相关产品推荐

