GitLab CI任务卡住,Runner未拾取任务问题求助
解决GitLab CI任务因标签不匹配卡住的问题
检查Runner的标签配置
- 进入项目的Settings > CI/CD > Runners,找到对应的共享Runner,查看它的标签列表,确认是否包含
build标签——别忽略拼写、大小写或者空格这类细节,很容易踩坑。 - 如果Runner没这个标签,要么给Runner加上
build标签,要么把.gitlab-ci.yml里的tags改成Runner已有的标签。
确认Runner的状态和权限
- 确保Runner是**在线(Active)**状态,离线的Runner根本接不到任务。
- 检查Runner的运行范围:如果是
Specific模式,得确认当前项目在它的允许列表里;如果是Shared模式,要保证项目所在的群组/实例允许用共享Runner。 - 要是触发任务的是受保护分支,得确认Runner同时勾选了Run untagged jobs和Run jobs on protected branches(在Runner的编辑页面能找到这两个选项)。
验证CI配置的优先级和语法
- 记住一个关键点:当
.gitlab-ci.yml里指定了tags,哪怕Runner开了Run untagged jobs,也只会找带对应标签的Runner——无标签任务选项只对没指定tags的任务生效。所以你的任务指定了build标签,Runner必须有这个标签才行。 - 用项目CI/CD设置里的CI Lint工具验证配置语法,排除隐性错误。
排查Runner注册问题
- 在Runner所在机器上执行
gitlab-runner list,查看已注册Runner的标签信息,确认build标签确实存在。 - 执行
gitlab-runner verify检查Runner和GitLab服务器的连接状态,确保通信正常。
内容的提问来源于stack exchange,提问作者coconut
相关产品推荐
相关产品推荐

