【发布时间】:2016-10-26 20:45:40
【问题描述】:
我正在使用 GitLab CI 构建 C# 解决方案,并尝试将一些构建工件从一个构建阶段传递到另一个构建阶段。
问题是,工件不是位于单个目录中,而是位于不同的子目录中,但是它们都具有相同的名称 bin/ 或 obj/。
我的.gitlab-ci.yml 如下所示:
...
stages:
- build
- test
build:
stage: build
script:
CALL %MSBuild% ...
artifacts:
paths:
- /**/bin/
- /**/obj/
expire_in: 6 hrs
test:
stage: test
dependencies:
- build
...
我尝试使用不同的方式捕获工件,例如
**/bin/
**/obj/
(无效语法),或
.*/bin/
.*/obj/
但是那个没有发现任何文物,就像/**/bin/和/**/obj/一样,给我以下错误:
Uploading artifacts...
WARNING: /**/bin/: no matching files
WARNING: /**/obj/: no matching files
如何指定要扫描工件的子目录模式?或者这甚至可能吗?
简单地使用
artifacts:
untracked: true
不是一个选项,因为有一个巨大的未跟踪 packages/ 子目录,这会导致由于存档太大而导致工件上传失败:
Uploading artifacts...
untracked: found 4513 files
ERROR: Uploading artifacts to coordinator... too large archive id=36 responseStatus=413 Request Entity Too Large token=...
FATAL: Too large
【问题讨论】: