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

GitLab Pipeline中Merge Request作业卡住问题求助

GitLab Merge Request Pipeline作业卡住问题排查与解决

问题现象

将其他分支合并到受保护分支时,Merge Request对应的Pipeline作业卡住,系统提示:

该作业卡住的原因可能为以下情况之一:无在线的活跃Runner、受保护分支无可用Runner,或无匹配作业所有标签$RUNNER_TAG的Runner

错误提示截图:
Error Message

Runner配置选项截图:
Runner Settings

关联的.gitlab-ci.yml代码片段:

# job to check the build health in merge requests
build_check:
  image: node:18.13.0
  stage: build
  extends: .distributed
  only:
    - merge_requests
  script:
    - export NODE_OPTIONS="--max-old-space-size=8192"
    - npx nx affected --target=build --all --parallel=3

# run the unit tests
unit_test:
  image: node:18.13.0
  stage: test
  extends: .distributed
  script:
    - npm run test:web
  artifacts:
    paths:
      - $CI_PROJECT_DIR/coverage/
    reports:
      coverage_report:
        coverage_format: cobertura
        path: $CI_PROJECT_DIR/coverage/**/**/cobertura-coverage.xml
  only:
    - develop
    - merge_requests

排查与解决步骤

1. 确认Runner是否在线活跃

进入项目的「CI/CD → Runner」页面,检查已配置的Runner状态是否为在线。如果Runner离线,直接重启Runner服务,或者检查Runner所在服务器的网络,确保能正常连接GitLab实例。

2. 检查受保护分支的Runner权限

查看Runner配置里的「Run untagged jobs」和「Locked to current project」选项:

  • 如果Runner勾选了「Locked to current project」,必须确认该Runner的「Protected」选项已开启(在Runner详情页设置)——只有开启这个选项,Runner才能处理受保护分支的Pipeline任务。
  • 要是作业通过.distributed模板继承了标签配置,得保证Runner的标签和作业要求的$RUNNER_TAG完全匹配。

3. 核对作业标签与Runner标签的匹配度

你的两个作业都继承了.distributed模板,先查看这个模板里是否定义了tags字段。如果模板里指定了tags: [$RUNNER_TAG]这类配置,必须确保有在线的Runner带有完全一致的标签:

  • 要么给现有Runner添加对应的标签;
  • 要么修改.gitlab-ci.yml,去掉作业的标签限制(如果不需要标签区分Runner的话)。

4. 确认Runner的受保护作业权限

对于受保护分支的Merge Request,Runner必须具备处理受保护分支任务的权限。在Runner的设置页,务必勾选「Protected」选项——开启后Runner才能运行来自受保护分支和受保护标签的作业。

5. 排查Runner并发数限制

检查Runner的「Maximum job concurrency」设置,如果当前Runner的并发数已经跑满,新作业会排队卡住。可以调高这个并发数,或者新增同标签的Runner来分担任务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 15:32:42