У меня проблемы с использованием артефактов заданий в Gitlab CI.
Я работаю над докеризированным веб-приложением. Я запускаю приложение с помощью docker-compose и запускаю на нем несколько тестов. Когда тесты не пройдены, тестовая среда делает несколько снимков экрана. Затем я копирую скриншоты в каталог сборки и пытаюсь загрузить их как артефакты, но получаю следующее:
Uploading artifacts...
Runtime platform arch=amd64 os=linux pid=6560 revision=d0b76032 version=12.0.2
src/tests/_output/: found 5 matching files
WARNING: Uploading artifacts to coordinator... failed id=11975 responseStatus=501 Not Implemented status=501 Not Implemented token=EyreCNs7
WARNING: Retrying... error=invalid argument
WARNING: Uploading artifacts to coordinator... failed id=11975 responseStatus=501 Not Implemented status=501 Not Implemented token=EyreCNs7
WARNING: Retrying... error=invalid argument
WARNING: Uploading artifacts to coordinator... failed id=11975 responseStatus=501 Not Implemented status=501 Not Implemented token=EyreCNs7
FATAL: invalid argument
ERROR: Job failed: exit status 1
Вот конфигурация этапа:
upload_screenshots:
stage: upload_screenshots
script:
- docker cp myapp_php_test:/var/www/html/myapp/tests/_output/. src/tests/_output/
when: on_failure
artifacts:
paths:
- src/tests/_output/
expire_in: 1 week
Я сделалТестовый проект, который просто создает текстовый файл и загружает его как артефакт, и он работает как ожидалось:
test:
script:
- echo "test" > test.txt
- ls -la
artifacts:
paths:
- test.txt
expire_in: 1 week
$ echo "test" > test.txt
Uploading artifacts...
Runtime platform arch=amd64 os=linux pid=101330 revision=d0b76032 version=12.0.2
test.txt: found 1 matching files
Uploading artifacts to coordinator... ok id=11946 responseStatus=201 Created token=xmkvqina
Job succeeded
Я использую Gitlab CE 11.3.5 (c74e8d9) и Gitlab Runner 12.0. 2 (d0b76032). Соответствующие серверы не находятся в одной подсети. Я думал, что это может быть наш прокси, но я не знаю, как в этом убедиться. Кроме того, мой тестовый проект работает.
Как я могу отладить это?
Есть ли способ использовать подробный режим загрузчика артефактов из конфигурации gitlab-ci?
Обновление
Кажется, это проблема размера файла. По какой-то причине я не могу загрузить файлы размером более 63 КБ.
stages:
- passes
- fails
passes:
stage: passes
when: always
script:
- dd if=/dev/urandom of=test.dat bs=63K count=1
artifacts:
paths:
- "*.dat"
fails:
stage: fails
when: always
script:
- dd if=/dev/urandom of=test.dat bs=64K count=1
artifacts:
paths:
- "*.dat"