首页 > 解决方案 > Gitlab CI 需要 2 分钟更新

问题描述

我有一个自托管的 gitlab 实例和一个带有几个 gitlab 运行器的服务器,它们使用 docker 作为执行器。

当一个新的 CI 作业开始时,我总是需要至少 2 分钟才能看到结果,但是当我检查创建容器的 docker 日志时,它会在 20 秒后完成构建。问题可能出在哪里?

我的 config.toml:

concurrent = 10
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "Runner 02"
  url = "https://gitlab.<myUrl>.ch/"
  token = "myToken"
  executor = "docker"
  environment = ["DOCKER_DRIVER=overlay2"]
  [runners.docker]
    tls_verify = false
    image = "docker"
    privileged = false
    disable_cache = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/root/.ssh:/root/.ssh", "/cache", "/root/.m2:/root/.m2"]
    shm_size = 0

参赛者注册为团体赛跑者。

标签: dockergitlabgitlab-cirunner

解决方案


问题在于从 Gitlab 运行器到 Gitlab 服务器的访问。

当 Runner 无法向服务器发送更新时,服务器会在约 2 分钟后拉取更新。就我而言,防火墙阻止了从运行器到服务器的调用。切换到省略防火墙的内部名称服务器解决了这个问题。


推荐阅读