artifacts:untracked
中的artifacts
有什么用?untracked: true
。默认情况下,当您在作业中定义工件时,
.gitignore
中指定的任何文件都将被忽略,并且不会包含在工件中。
设置
untracked: true
将不会使用 .gitignore
,即所有未跟踪的文件将被包括在内。由于 untracked: false
是默认值,因此添加它不会执行任何操作。
您可以在artifacts:untracked找到更多信息。
artifacts:untracked
忽略存储库的 .gitignore
文件中的配置。
如果您使用
untracked: false
,工件将不会有任何被 .gitignore
忽略的文件/文件夹。
如文档中所述:
使用
将所有 Git 未跟踪文件添加为工件(以及artifacts:untracked
中定义的路径)。artifacts:paths
换句话说,通过将此关键字设置为
true
,构建目录中的每个未跟踪文件都将作为工件上传,无论它们是否在 artifacts:path
部分中列出。
忽略存储库artifacts:untracked
中的配置,因此包含.gitignore
中的匹配工件。.gitignore
也就是说,如果
artifacts:untracked
是 true
,任何未包含在索引中的文件都会作为工件上传,即使它包含在 .gitignore
中。
以下内容已在 GitLab 16.11.1 CE 中测试:
鉴于
.gitignore
:
# More paths here...
### Maven ###
target/
# ... and more paths
工作的两种定义:
build-job:
stage: build
script:
- mvn clean compile $MVN_OPTS
artifacts:
untracked: false # Optional
paths:
- "target/"
或
```yaml
build-job:
stage: build
script:
- mvn clean compile $MVN_OPTS
artifacts:
untracked: true
将以
target/
及其内容作为工件上传来结束。