Gitlab 工件和未跟踪

问题描述 投票:0回答:3

artifacts:untracked
中的
artifacts
有什么用?
我看到未跟踪的文件,例如二进制文件是工件的一部分,无需设置
untracked: true

那么它有什么用呢?

gitlab gitlab-ci gitlab-ci-runner artifacts
3个回答
7
投票

默认情况下,当您在作业中定义工件时,

.gitignore
中指定的任何文件都将被忽略,并且不会包含在工件中。

设置

untracked: true
将不会使用
.gitignore
,即所有未跟踪的文件将被包括在内。由于
untracked: false
是默认值,因此添加它不会执行任何操作。

您可以在artifacts:untracked找到更多信息。


2
投票

artifacts:untracked
忽略存储库的
.gitignore
文件中的配置。

如果您使用

untracked: false
,工件将不会有任何被
.gitignore
忽略的文件/文件夹。


0
投票

文档中所述:

使用

artifacts:untracked
将所有 Git 未跟踪文件添加为工件(以及
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/
及其内容作为工件上传来结束。

© www.soinside.com 2019 - 2024. All rights reserved.