我正在使用自托管的Gitlab-CE服务器。我尝试使用具有三个阶段的CI管道:构建,打包,部署
Build是一个maven任务 - 有效。
在包任务中,我尝试构建docker容器。但是此步骤失败并出现以下错误:
ax.plot_surface(..., shade=False)
那是我的.gitlab-ci.yml(没有部署步骤)
Error response from daemon: Dockerfile parse error line 1: unknown instruction: <!DOCTYPE
可以在https://devel.priv.net访问gitlab服务器。存储库是https://devel.priv.net/d.p/service-discovery 它受用户名和密码保护。
我的配置有什么问题?
答案 0 :(得分:0)
您应该检查/etc/gitlab/gitlab.rb
文件并搜索registry_external_url
配置变量。您可能希望为GitLab注册表使用子域,或者在其他端口上运行它。
registry_external_url "https://registry.devel.priv.net"
您获得的响应似乎是GitLab的404页面的HTML代码,因为注册表未在您的域https://devel.priv.net上运行,但是docker登录尝试登录此URL。
您还应该尝试避免将注册表硬连接到.gitlab-ci.yml
文件,并在$CI_REGISTRY
作业中使用CI环境变量docker-build
。
答案 1 :(得分:0)
也许尝试这样的事情:
docker-build:
stage: package
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build -t devel.priv.net/d.p/service-discovery .
- docker push devel.priv.net/d.p/service-discovery