我在Ubuntu上使用OmniBus软件包和GitLab CI Multirunner与Docker执行器(配置Multirunner时的docker
选项)安装了GitLab CE。
我使用此.gitlab-ci.yml
运行了一个简单的测试管道:
image: node
default:
script:
- echo okay
它在CI构建作业日志中给出了这个错误:
无法解析主机{computerName}
我看到有人建议在extra_hosts = ["{computerName}:127.0.0.1"]
下将/etc/gitlab-runner/config.toml
添加到[runner.docker]
,因为该错误会消失。
现在我收到了这个错误:
无法访问&{39; http://gitlab-ci-token:{ciToken}:{computerName} /root/test.git /':无法连接到{computerName}端口80:拒绝连接
我看到了改变external_url
的建议,但我不知道该怎么做。目前它与其他地方一样{computerName}
。跑步者试图在80号港口进入,这是我预期的一切。
我想也许80在Firefox和Git中为我工作但在跑步者中没有意味着它试图连接到Docker网络中的80,因为服务在主机网络中而失败。这个想法通过以下事实得到进一步加强:当我将http://gitlab-ci-token:{ciToken}:{computerName}/root/test.git/
并将其粘贴到浏览器中时,我会登陆GitLab实例中的存储库页面。
我不知道要更改external_url
的内容,因此它可以与Docker容器中的Git clone一起使用。如何将两者联网?
作为参考,我还在一个新的topic on GitLab Forum中将这个问题联系起来,如果找到答案,我也会要求作者回答SO,所以我可以关闭这个问题。< / p>
答案 0 :(得分:1)
extra_hosts =
行应该为你的gitlab服务器可以从里面你的docker容器中添加一个IP主机条目,所以可能不是127.0.0.1
。
如果在与gitlab相同的机器上运行docker,则这是分配给docker0接口的ip,例如172.17.0.1
。