gitlab:Runner 离线,最后一次联系是在几个小时前

gitlab: Runner is offline, last contact was about some hours ago

最近我的跑步者被停止了,我不知道为什么?

我刚刚在服务器上升级 nodejs,它确实发生了。

出现此问题后,我尝试将gitlab更新到最新版本并检查运行器状态,但问题仍然存在,灰色图标标题中显示:

Runner is offline, the last contact was about 22 hours ago.

我该怎么办?

当我尝试 Retry stuck jobs 时,看到这个错误:

This job is stuck, because you don't have any active runners online with any of these tags assigned to them: 'my label'.

感谢任何帮助!

我不知道为什么,但我发现 gitlab-runner 完全停止服务了。我试图修复它。第一步,我更新了 gitlab-runner 位,但它不起作用。之后我决定重新安装 gitlab-runner 所以我遇到了这个步骤:

  1. 使用此命令行删除 gitlab-runner 用户:sudo deluser --remove-home gitlab-runner
  2. 按照 here 上的手动安装和配置进行操作。

它奏效了。

对我来说,以下解决了问题:

gitlab-runner restart

其中 gitlab-runner 是指向 gitlab-ci-multi-runner 的符号链接:

GitLab Runner is the open source project that is used to run your jobs and send the results back to GitLab. It is used in conjunction with GitLab CI, the open-source continuous integration service included with GitLab that coordinates the jobs.

我有同样的错误,但在 GKE 上使用 gitlab runner。为了修复它,我刚刚删除了 gitlab-runner pod。一个新的 pod 被初始化,连接又恢复了。

为未来的读者分享我的经验。

在我的例子中,安装了 gitlab-runner 的机器无法上网。

我已经修复了我的 gitlab-runner 机器上的互联网问题,一切都按预期工作。

谢谢!

如果你 运行ner 在 systemd

下 运行
journalctl -u gitlab-runner.service

可能会很有启发性。对我来说是这样。

gitlab-runner[18449]: FATAL: chdir /home/gitlab-runner: no such file or directory

重新启动后 gitlab-runner ,您可以将其用于新的注册运行器:

gitlab-runner restart

gitlab-runner register --name my-runner --url http://gitlab.example.com --registration-token my-registration-token

抱歉重新启用这个旧线程。

我目前正在制作一个在本地运行的 gitlab runner。 仍处于早期阶段,但最终它将变得非常重要。 看起来 gitlab want/have 没时间做这个了,所以你开始吧。 https://github.com/firecow/gitlab-runner-local

这对我有用:

sudo gitlab-runner verify

因为gitlab-runner restart实际上并没有重新启动跑步者

检查 gitlab-运行ner 日志 journalctl -u gitlab-runner -f

对我来说问题是:

gitlab-runner[2023]: FATAL: Service run failed                           error=chdir /var/lib/gitlab-runner: no such file or directory

因此创建了文件夹并重新启动了 gitlab-运行ner

sudo mkdir /var/lib/gitlab-runner
sudo gitlab-runner restart

可能与根用户 运行 安装无关

对我来说,问题是 self-hosted GitLab 的 URL 发生了变化。我不得不手动更改跑步者的 URL:

sudo vi /etc/gitlab-runner/config.toml

重新启动后,我可以验证所有跑步者都已恢复在线:

sudo gitlab-runner restart
sudo gitlab-runner verify

就我而言,在从旧的 gitlab-runner (9.5.1 -> 11.11.4) upgrading 之后,我无法让我的跑步者工作。即使删除它并注册一个新的。 我注意到我的 config.toml 文件没有与我的新跑步者的跑步者 CI/CD 设置页面中的标记相匹配的标记。

我做了以下工作来让它工作:

  1. 删除 /etc/gitlab-runner/config.toml 文件(也许 不必要的)

  2. 在项目的 CI/CD Settings -> Runner 页面下的 Gitlab 中点击 Reset runners registration token 同时注册一个新的 runner (gitlab-runner register)

  3. 照常进行参赛者注册。

之后,我的跑步者被捡起来,照常工作。