Gitlab shell runner无法上载大于63KB的工件:“0”;501“未实施”;
我在Gitlab CI中使用作业工件时遇到问题 我正在开发停靠的web应用程序。我用docker compose运行应用程序,并对其运行一些测试。 当测试失败时,测试框架会截图。然后,我将截图复制到构建目录,并尝试将其作为工件上载,但我得到以下结果:Gitlab shell runner无法上载大于63KB的工件:“0”;501“未实施”;,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,我在Gitlab CI中使用作业工件时遇到问题 我正在开发停靠的web应用程序。我用docker compose运行应用程序,并对其运行一些测试。 当测试失败时,测试框架会截图。然后,我将截图复制到构建目录,并尝试将其作为工件上载,但我得到以下结果: Uploading artifacts... Runtime platform arch=amd64 os=linux pid=6560 revision=d0b76032 ve
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
我正在运行Gitlab CE 11.3.5(c74e8d9)和Gitlab Runner 12.0.2(d0b76032)。相应的服务器不在同一子网上。我想这可能是我们的代理人,但我不知道如何确定。除此之外,我的测试项目是有效的
我如何调试它?有没有办法从gitlab ci配置中使用工件上传器详细模式 更新 这似乎是一个文件大小问题。由于某些原因,我无法上传大于63KB的文件
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"
这是一个奇怪的代理试图将-src/tests/_output/更改为-src/tests/_output/*@ilia。我已经尝试了多重语法。带和不带通配符,带和不带引号。。。它们都在我的测试项目中工作,但在另一个项目中不工作。嗯,我检查了我的配置,发现我总是引用工件,例如report*.txt,表示通配符之前的前缀。。。
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"