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

使用shell执行器的GitLab CI流水线卡住如何解决?

GitLab CI Shell执行器流水线卡住排查方案
  • 确认GitLab Runner运行状态
    登录部署runner的服务器,执行gitlab-runner status检查服务是否正常运行,若返回停止状态,执行gitlab-runner start启动服务后重新触发流水线。
  • 核对Runner与项目的匹配规则
    检查注册的runner是否已绑定对应项目,同时确认.gitlab-ci.yml中job设置的tag与runner的tag匹配,若runner设置为仅运行带tag的job,未配置tag的job会一直处于pending状态卡住。
  • 排查执行环境权限问题
    Shell执行器默认使用gitlab-runner系统用户执行所有job命令,可手动切换到该用户,逐条执行你配置中的job命令,确认无权限不足、环境变量缺失等问题。
  • 移除命令中的交互式操作
    若配置中的命令存在需要人工确认的逻辑(比如包安装需要输入确认、SSH连接需要手动信任主机指纹等),会导致流水线挂起,需要给命令添加静默执行参数,例如yum install -y <包名>、SSH命令添加-o StrictHostKeyChecking=no参数。
  • 清理Runner异常缓存
    长期运行的Shell Runner可能残留文件锁、异常后台进程,可进入默认工作目录/home/gitlab-runner/builds/删除对应项目的缓存目录,执行gitlab-runner restart重启服务后重试。
  • 查看Runner运行日志定位根因
    执行journalctl -u gitlab-runner -f实时打印Runner运行日志,触发流水线后可查看具体的执行卡住节点,定位具体错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:06