docker - 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
参赛者注册为团体赛跑者。
解决方案
问题在于从 Gitlab 运行器到 Gitlab 服务器的访问。
当 Runner 无法向服务器发送更新时,服务器会在约 2 分钟后拉取更新。就我而言,防火墙阻止了从运行器到服务器的调用。切换到省略防火墙的内部名称服务器解决了这个问题。
推荐阅读
- python - 将 Softmax 的输出捕获到 Tensorflow 中的图像中
- r - 不能在 r 中使用带有 dplyr 的动态变量名
- asynchronous - asyc 管道未加载 ngif
- asp.net - ASP.NET 核心 JWT 身份验证总是抛出 401 未授权
- spring-boot - 用于从控制器重定向的 Hystrix 后备方法
- java - ListView 或 false 方法获取结果
- bash - $$ 在 shell , Linux
- html - 如何保留现有的 SVG 形状而不是替换它们?
- html - 如何将 WebRTC 连接到 SFU 中的 NodeJS 服务器?
- kotlin - 如何在 Kotlin 中为 Autoboxing 生成警告?