GitLab CI/CD 工件排除不起作用

Ame*_*Fox 3 artifact gitlab gitlab-ci gitlab-ci-runner

我的 .gitlab-ci.yml 文件的工件部分是:

  script:
    - echo "creating artifact"    
  artifacts:
    name: "<name of my project>"
    paths:
      - $CI_PROJECT_DIR
    exclude:
      - $CI_PROJECT_DIR/deploy/*
      - $CI_PROJECT_DIR/git/*
Run Code Online (Sandbox Code Playgroud)

但是,我想要排除的文件仍然包括在内;当我从 git 下载工件时,部署文件夹和 .git 文件夹及其内容都存在。尽管 git 被排除在外,但在运行管道的工件阶段时,我也会收到此警告:WARNING: Part of .git directory is on the list of files to archive 。我尝试将其从 更改$CI_PROJECT_DIR/git/*$CI_PROJECT_DIR/.git/*,但这会使工件变得更大(太大以至于管道失败并且我无法下载工件)。

我还尝试从文件路径中删除 /* 并将其更改为 /**/*,但都没有解决问题。一个非常奇怪的事情是,有时伪影随着第一条路径的结束而变小,有时当它被删除时它会更小。

我该如何解决这个问题,以便排除正确的文件并且工件不那么大?或者我还能做些什么来使工件变小吗?

Ole*_*iuk 6

文件夹本身及其内容都必须排除。只有这个对我有用:

artifacts:
  paths:
    - ./
  exclude:
    - .git
    - .git/**/*
Run Code Online (Sandbox Code Playgroud)

GitLab 作业日志的结果:

...
Uploading artifacts...
./: found 9924 matching files and directories      
.git: excluded 1 files                             
.git/**/*: excluded 31 files
...
Run Code Online (Sandbox Code Playgroud)