【问题标题】:git runner is unable to accessgit runner 无法访问
【发布时间】:2025-12-08 00:50:02
【问题描述】:

我正在尝试设置一个 gitlab 运行器来使用 gitlab-ci 而不是我的 Jenkins。 我用链接的 docker.sock 设置了一个 docker 容器

   docker run -d --name gitlab-runner --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /config/file/on/host:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest

容器运行后,我向 gitlab 服务器注册了一个新的运行器,并以以下配置结束

concurrent = 1
check_interval = 0

[[runners]]
  name = "lianli"
  url = "<https://gitlab_server.de"
  token = "<secret>"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "debian:latest"
    privileged = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]

所以现在一切都已连接。但是当管道运行时,它会以访问错误结束:

remote: Git access over HTTP is not allowed
fatal: unable to access 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab_server.de/group/project.git/': The requested URL returned error: 403
ERROR: Job failed: exit code 1

我的 .gitlab-ci.yml 看起来像:

stages:
 - test

variables:
 NGINX: nginx:stable-alpine

before_script:
  - docker info

test:
 stage: test
 script:
   - docker build -t nginx_test .

我不明白,为什么它无法访问?

注意:runner是9.3.0版本,gitlab是9.3.2版本

【问题讨论】:

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


    【解决方案1】:

    您的 GitLab 实例是否配置为接受对存储库的 http 请求? 您是该项目的成员吗?

    【讨论】:

    • 我太笨了,todelly 忘了我把它设置为只有 ssh... 但是现在我有一个新错误:克隆到 '/builds/group/project'... 错误:RPC 失败; HTTP 500 curl 22 The requested URL returned error: 500 Internal Server Error fatal: 远端意外挂断