GitLab CI:作业工件"No files to upload"



这是我第一次尝试生成gitlab ci作业工件。我的ci脚本生成一个csv文件,我想将其作为工件下载到作业中。yaml文件如下。

unittest:
script:
- cd unittest
- bash ci-test.sh
artifacts:
paths:
- /*.csv
when: always
expire_in: 1 day

我收到了这样的错误消息。

Uploading artifacts for successful job
00:02
Uploading artifacts...
WARNING: /*.csv: no matching files 
ERROR: No files to upload 

我已经确认生成的csv报告在那里。

路径是相对于项目目录的。也就是说,您不能访问项目目录之外的文件,所以/*.csv是不正确的。

如果文件在项目中,则只需设置相对于项目的路径,例如,如果文件位于reports文件夹中,则使路径等于reports/*.csv

您还可以将项目目录路径设置为工件路径:

artifacts:
paths:
- $CI_PROJECT_DIR
expire_in: 1 week 

这样,在你的代码中,如果你没有为任何文件指定任何特定的路径,那么它将始终在项目目录中,GitLab运行者将能够找到它。

您需要将输出文件存储到$CI_PROJECT_DIR

一个例子:

test:
stage: quality
image: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
script:
- cd /app
- coverage run -m pytest
- coverage report
- coverage xml -o $CI_PROJECT_DIR/coverage.xml
coverage: '/TOTAL.*s([.d]+)%/'
artifacts:
paths:
- coverage.xml
reports:
cobertura:
- coverage.xml

当我问我的技术负责人这件事时,他说"它看起来像一个跑步者nas不是互联网连接";,然后我重新开始了我的工作并取得了成功。

最新更新