我有一个像这样的文件夹结构
foo/bar/lorem/a.txt
foo/bar/lorem/b.txt
foo/bar/lorem/c.ext
foo/bar/ipsum/p.txt
foo/bar/ipsum/q.ext
Run Code Online (Sandbox Code Playgroud)
在 GitLab CI 的 yml 中,artifacts我想包含所有内容foo/bar,exclude *.txt但包含b.txt
GitLab CI 工件参考指出:
可以使用遵循glob模式和 golang 的filepath.Match的通配符。
尝试1:
job1:
artifacts:
paths:
- foo/bar/
- foo/bar/lorem/b.txt
exclude:
- foo/bar/**/*.txt
Run Code Online (Sandbox Code Playgroud)
尝试2:
job1:
artifacts:
paths:
- foo/bar/
exclude:
- foo/bar/**/!(b).txt
Run Code Online (Sandbox Code Playgroud)
预期输出:
foo/bar/lorem/b.txt
foo/bar/lorem/c.ext
foo/bar/ipsum/q.ext
Run Code Online (Sandbox Code Playgroud)
我使用什么paths和组合来实现这一目标?exclude