具有Docker执行器克隆问题的OmniBus GitLab CE Multirunner
我在Ubuntu上使用OmniBus软件包和GitLab CI Multirunner与Docker执行程序(configurationMultirunner时的docker选项)安装了GitLab CE。
我用这个.gitlab-ci.yml
运行了一个简单的testingpipe道:
image: node default: script: - echo okay
它在CI构build作业日志中给了我这个错误:
无法parsing主机{computerName}
我曾经看到有人build议在[runner.docker]
下的[runner.docker]
添加extra_hosts = ["{computerName}:127.0.0.1"]
,使错误消失。
现在我得到这个错误:
无法访问“ http:// gitlab-ci-token :{ciToken}:{computerName} /root/test.git/”:无法连接到{computerName}端口80:连接被拒绝 。
我看到了一个build议来改变external_url
,但我不知道该怎么做。 目前它和其他地方一样都是{computerName}
。 跑步者试图在80号港口进入,一切如我所愿。
我想也许80在Firefox和Git为我工作,但不在跑步意味着它试图连接到80内的Dockernetworking,因为服务在主机networking,失败。 当把http://gitlab-ci-token:{ciToken}:{computerName}/root/test.git/
并粘贴到浏览器中时,我进入了存储库页面GitLab实例。
我不知道要更改external_url
,所以它可以在Docker容器中使用Git clone。 我怎样才能把两者联系起来?
作为参考,我也在GitLab论坛的一个新主题中把这个问题联系起来,如果find了答案,我会要求作者回答这个问题,所以我可以closures这个问题。
extra_hosts =
行应该为你的gitlab服务器在你的docker容器内可以访问的IP添加一个hosts项,所以可能不是127.0.0.1
。
在与gitlab在同一台机器上运行docker的情况下,这是分配给docker0接口的ip,例如172.17.0.1
。