具有Docker执行器克隆问题的OmniBus GitLab CE Multirunner

时间:2017-07-11 15:14:00

标签: docker gitlab gitlab-ci-runner docker-networking gitlab-omnibus

我在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>

1 个答案:

答案 0 :(得分:1)

extra_hosts =行应该为你的gitlab服务器可以从里面你的docker容器中添加一个IP主机条目,所以可能不是127.0.0.1

如果在与gitlab相同的机器上运行docker,则这是分配给docker0接口的ip,例如172.17.0.1