【发布时间】:2020-03-21 05:14:28
【问题描述】:
我在工作日志中收到以下错误消息:
217 $ docker run -e TWINE_USERNAME \ # collapsed multi-line command
218 docker: invalid reference format.
219 See 'docker run --help'.
223 ERROR: Job failed: exit code 125
完整日志可在https://gitlab.com/oxr463/buildbot_tyrian_theme/-/jobs/360851515#L217获取。
.gitlab-ci.yml工作如下:
pypi:
type: deploy
variables:
TWINE_USERNAME: $TWINE_USERNAME
TWINE_PASSWORD: $TWINE_PASSWORD
before_script:
- |
docker run -v $(pwd):/opt/buildbot_tyrian_theme \
$CI_REGISTRY/oxr463/buildbot_tyrian_theme \
python setup.py bdist_wheel sdist --formats gztar
script:
- |
docker run -e TWINE_USERNAME \
-e TWINE_PASSWORD \
-v $(pwd):/opt/buildbot_tyrian_theme \
$CI_REGISTRY/oxr463/buildbot_tyrian_theme twine upload dist/*
only:
- tags
来源:https://gitlab.com/oxr463/buildbot_tyrian_theme/blob/master/.gitlab-ci.yml
这仅在通过 GitLab CI/CD 运行时发生;如果在本地运行,该命令可以正常工作。
更新:
script 命令不是多行字符串,而是我将它折叠成单行并且它起作用了。但是,我仍然想弄清楚为什么它通过了 GitLab CI/CD linter 却无法正常工作。
参考资料:
- Docker Docs: docker run - Set environment variables (-e, --env, --env-file)
- GitLab Docs: Passing environment variables to services
另见:
【问题讨论】:
-
您是否在此 repo 的 CI 设置中设置了这些变量?也许您必须从 .gitlab-ci.yml 中删除两个变量声明。
-
是的,它们是在设置 > CI/CD > 变量下定义的。我将尝试为我的下一个构建删除这些声明。
-
不,那也失败了,(参见:gitlab.com/oxr463/buildbot_tyrian_theme/-/jobs/360998617)。