Я использую GitLab CI для создания решения C# и пытаюсь передать некоторые артефакты сборки с одного этапа сборки на другой.Как указать подкаталоги подстановочных артефактов в .gitlab-ci.yml?
Проблема заключается в том, что артефакты не расположены в одном каталоге, а в разных подкаталогах, которые, однако, имеют одинаковые имена 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
Я не везло с двойные кавычки вокруг пути. Он работал без них. Кроме того, [doc] (https://docs.gitlab.com/ce/ci/yaml/README.html#artifacts) упоминает только примеры без кавычек. – TmTron
Я обнаружил, что нужны двойные кавычки. – griest
Нечетный, который цитирует вопрос. Но, насколько мне известно, цитирование является частью синтаксиса YAML, поэтому я сомневаюсь, что бегун видит его с кавычками. Интересно, почему для одного человека ему нужны котировки, а для другого ему не нужны кавычки. – nafg