You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab Runner调度异常求助:指定标签Runner执行用户不一致

问题原因及解决办法

核心原因

你遇到的问题本质是同一台机器上存在两个属于不同用户的同名sh4fw Runner实例在同时运行。Shell executor的任务执行用户,就是启动该Runner进程的用户,所以会出现任务有时用hefeiqh、有时用fw执行的情况。

具体排查步骤

  1. 检查运行中的Runner进程
    执行以下命令查看所有gitlab-runner进程的所属用户:

    ps aux | grep gitlab-runner
    

    如果能看到两个分别属于hefeiqh和fw的gitlab-runner进程,就说明是多用户启动了同名Runner。

  2. 检查Runner配置文件
    GitLab Runner的配置分系统级和用户级:

    • 系统级配置:/etc/gitlab-runner/config.toml
    • 用户级配置:~/.gitlab-runner/config.toml(每个用户目录下都可能有)
      分别查看hefeiqh和fw用户目录下的配置文件,以及系统级配置,看是否存在重复的sh4fw Runner条目。

解决方法

  1. 停止所有Runner进程
    先停止系统服务的Runner,再杀掉用户手动启动的进程:

    sudo gitlab-runner stop
    sudo pkill -f gitlab-runner
    
  2. 清理重复配置
    删除所有多余的sh4fw Runner配置,只保留一个由你指定用户(比如fw)注册的条目。如果是系统级Runner,确保配置文件中只有一个sh4fw的[[runners]]块。

  3. 重新启动并固定运行用户

    • 如果用系统服务运行,修改systemd配置文件(通常在/etc/systemd/system/gitlab-runner.service),将User字段设置为你想要的固定用户(比如fw),然后重新加载服务:
      sudo systemctl daemon-reload
      sudo systemctl restart gitlab-runner
      
    • 如果用用户级Runner,切换到指定用户(比如fw),重新启动Runner:
      su - fw
      gitlab-runner start
      
  4. 清理GitLab端重复Runner
    登录GitLab项目的设置 -> CI/CD -> Runners页面,删除重复的sh4fw Runner条目,只保留正在运行的那个。


内容的提问来源于stack exchange,提问作者hefeiqh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 08:15:35