Gitlab Runner执行CI/CD时报错:fatal: unable to access ‘http://gitlab-xxxxxxxxxxxxx/gitlab-instance-xxxxxxx

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 1. 场景
  • 2. 报错
  • 3. 分析
  • 4. 解决
    • 4.1 解决办法1(推荐)
    • 4.2 解决办法2
    • 4.3 解决办法3


1. 场景

在使用Gitlab Runner执行CI/CD时,job报错,点进去看了下是无法访问git仓库地址

2. 报错

报错内容

fatal: unable to access 'http://gitlab-xxxxxxxxxxxxx/gitlab-instance-xxxxxxx/runner-test01.git/': Could not resolve host: gitlab-b586xxxxxxxxxx

截图
Gitlab Runner执行CI/CD时报错:fatal: unable to access ‘http://gitlab-xxxxxxxxxxxxx/gitlab-instance-xxxxxxx_第1张图片

3. 分析

gitlab部署的时候宿主机映射端口修改过的小伙伴,可能会跟我遇到相同问题
因为gitlab默认端口为80,而我们自己部署gitlab时将端口映射为别的,那这里就会访问不到

4. 解决

如不熟悉runner的配置和使用可参考:gitlab runner 安装、注册、配置、使用(Docker部署)

假如我们的gitlab仓库访问地址为http://172.33.0.111:30021

4.1 解决办法1(推荐)

在我们创建的runner的配置文件中加入参数clone_url = “http://ip:port”
与url的值相同
容器中配置文件config.toml我的位置在/etc/gitlab-runner/config.toml,请根据你自己安装配置runner时的位置找到该文件
如果挂载过则可以到宿主机挂载的位置进行修改
我在挂载的位置进行修改,如未挂载可将位置替换为上面的容器内位置

vim /data/gitlab-runner/config/config.toml

我这里有两个runner都添加一下,如下
Gitlab Runner执行CI/CD时报错:fatal: unable to access ‘http://gitlab-xxxxxxxxxxxxx/gitlab-instance-xxxxxxx_第2张图片
修改后该文件会自动重新加载生效,无需做任何操作
等两分钟后我们再去gitlab仓库的CICD中重试即可正常跑完流程,如下
(失败的时候红框中会有重试按钮点击重试即可)
Gitlab Runner执行CI/CD时报错:fatal: unable to access ‘http://gitlab-xxxxxxxxxxxxx/gitlab-instance-xxxxxxx_第3张图片

4.2 解决办法2

这里不管gitalb端口是什么,我们在注册runner时使用非交互式注册
在注册的命令中加入参数–clone-rul

gitlab-runner register \
--non-interactive \
--url "http://172.33.0.111:30021" \
--registration-token "RuUyXm9kDKxRLkeeCLXv" \
--executor "docker" \
--docker-image maven:latest \
--description "gr02" \
--tag-list "02" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"
--clone-url "http://172.33.0.111:30021" 

加上clone-url参数

4.3 解决办法3

找到gitalb服务的配置文件/etc/gitlab/gitlab.rb
在文件中加入参数external_url = “http://172.33.0.111:30021”
这个方法我之前试过,好像是没起作用,可能是别的地方有问题,大家可以试试


感谢阅读,祝君暴富!

你可能感兴趣的:(#,GitLab,gitlab,ci/cd,java,http,云原生,docker,容器)