GitLab Runner 在 32 位 Windows 上的问题

Posted

技术标签:

【中文标题】GitLab Runner 在 32 位 Windows 上的问题【英文标题】:Issues with GitLab Runner on 32-bit Windows 【发布时间】:2021-12-29 01:36:45 【问题描述】:

我在 32 位 Windows 上遇到了 GitLab Runner 的问题。运行器的版本为 14.4.0,我们的 GitLab 实例的版本为 14.4.1-ee。运行程序与运行 32 位 Windows 10 Pro (10.0.19043) 的特定计算机相关联,使用 shell 执行程序 (PowerShell),并以完全管理权限运行(即,作为本地系统用户)。这是我无法控制的。

跑步者偶尔会停止向我们的 GitLab 实例发送日志流量,但没有明显的原因。他们应该上传几 MB 的日志。我没有看到以debug 模式上传日志的失败尝试。我在 WireShark 中看不到任何我期望的网络流量。这可能与加载自定义驱动程序的问题有关,但我不能肯定。

解决方法更加令人困惑。以下协议解决了这个问题:使用 GitLab CI 接口删除所有运行器;卸载有故障的跑步者;下载一个新的运行器二进制文件,注册并安装它。如果我重复相同的步骤,除了不下载新的二进制文件,问题仍然存在。当我对它们运行二进制差异时,这些文件是相同的。

我无法从系统事件日志或网络流量中提取任何相关信息。该问题仅影响我们在 32 位 Windows 上的运行器。无论架构如何,它都不会影响 64 位 Windows 或 Linux 上的运行器。它似乎是偶尔发生的,因为我无法将它与受影响机器上发生的任何有趣的事情联系起来。

显然,我们的 32 位 Windows 环境有所不同,导致运行器出现故障。我只是不知道它是什么。我将不胜感激找出这个问题的根源的任何方向。下载新的二进制文件会带来不同的事实让我很担心,但我没有任何理由怀疑我们的机器已经被入侵了。

【问题讨论】:

【参考方案1】:

通过 SSH 远程运行测试解决了这个问题。几乎可以肯定,gitlab-runner 的 32 位 Windows 发行版存在错误。

【讨论】:

以上是关于GitLab Runner 在 32 位 Windows 上的问题的主要内容,如果未能解决你的问题,请参考以下文章

gitlab-runner 随机运行为 root 而不是用户 gitlab-runner

gitlab runner 权限问题

为啥gitlab-runner执行完script停不下来?

gitlab gitlab runner

Gitlab CI/CD Runner

Gitlab-runner 未能删除权限被拒绝