GitLab运行程序无法通过http克隆存储库

安东尼

我拥有在测试环境中运行的GitLab的最新docker镜像,但遇到GitLab运行器问题。无法通过HTTP链接进行克隆,并显示以下消息:

Running on runner-bd27e50b-project-1-concurrent-0 via machine...
Cloning repository...
Cloning into '/builds/my/awesome-project'...
fatal: unable to access 'http://gitlab-ci-token:[email protected]/my/awesome-project.git/': 
    Failed to connect to 127.0.0.1 port 80: Connection refused

ERROR: Build failed with: exit code 1

我用该--debug标志运行gitlab-runner,并使用了它尝试的确切地址(令牌完好无损),并且可以很好地克隆存储库。我对为什么该服务无法克隆存储库一无所知。运行程序执行程序也配置为“ docker”。也许在该容器中存在一些端口映射问题?

安东尼

我假设问题可能与将运行程序注册为docker容器有关,导致本地主机地址无法解析到正确的机器(我在其中启动运行程序)。在这种情况下,它可能解析为容器。在注册运行程序时,在docker代理接口上使用主机的IP(对我来说是172.17.0.1)或使用主机的真实地址而不是“ localhost”即可解决此问题。

编辑:据我了解,这里是有关该问题的更多详细信息以及解决方案。加载的docker实例就像一个(非常)轻量级的虚拟机。Docker配置了一个虚拟网络接口,如果您从主机上运行ifconfig,将看到该接口:

user@pc:~> ifconfig
docker0   Link encap:Ethernet  HWaddr XXXX
          inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
          ...

这是该接口上主机的IP地址。因此,如果您希望运行程序能够连接到在该主机上运行的服务,则不能将其指向localhost / 127.0.0.1,因为它来自运行程序实例内部,它将路由到运行程序的“ VM”,但GitLab不在运行程序“ VM”内运行,它在主机上,因此运行程序无法与GitLab通信。

解决方案是在docker接口上注册运行程序以指向主机的虚拟地址(对我而言为http://172.17.0.1/ci),或者如果您拥有主机的公共IP或域名,则使用主机的公共IP或域名公开地 只是不要将其发送到localhost或127.0.0.1,因为对于运行程序,它指向其“ VM”,而不是您的GitLab实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法运行克隆的存储库

来自分类Dev

GitLab CI运行程序无法生成

来自分类Dev

无法通过HTTP克隆Github存储库,但SSH可以(假设这是Vundle无法正常工作的原因)

来自分类Dev

无法克隆现有的Gitlab存储库

来自分类Dev

无法克隆存储库

来自分类Dev

无法通过我的外部媒体运行程序

来自分类Dev

通过外壳运行程序

来自分类Dev

设置http.sslCAInfo后无法克隆Github存储库

来自分类Dev

Python。无法运行程序

来自分类Dev

无法运行程序“xjc”

来自分类Dev

无法克隆github存储库

来自分类Dev

Github:无法克隆存储库

来自分类Dev

无法克隆Mercurial存储库

来自分类Dev

无法克隆Git存储库

来自分类Dev

如何设置gitlab CI运行程序?

来自分类Dev

本地Gitlab CICD使用Linux运行程序失败'致命:无法访问...无法解析主机:...'

来自分类Dev

使GitLab CI克隆私有存储库

来自分类Dev

如何使用Gitlab-ci通过本地Gitlab运行程序通过SSH到本地服务器?

来自分类Dev

无法通过SSH推送到GitLab存储库

来自分类Dev

本地 GitLab 运行程序冻结,而 Shared GitLab.com 运行程序成功

来自分类Dev

运行程序时如何存储信息

来自分类Dev

即使ssh有效,Gitlab也无法克隆存储库

来自分类Dev

在多个存储库中重用Github Actions自托管运行程序

来自分类Dev

Nginx -Gitlab:无法通过 https 进行克隆

来自分类Dev

如何通过Tor运行程序

来自分类Dev

通过Windows锁屏运行程序

来自分类Dev

使用paramiko python ssh库通过xterm运行来远程执行程序

来自分类Dev

通过ssh克隆Bitbucket存储库

来自分类Dev

通过WSL克隆GitHub存储库失败