小编Aks*_*hah的帖子

如何排除 gitlab-ci 工件中除一个文件之外的所有文件

我有一个像这样的文件夹结构

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/barexclude *.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

gitlab gitlab-ci

8
推荐指数
1
解决办法
8235
查看次数

标签 统计

gitlab ×1

gitlab-ci ×1