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

GitLab CI不同OS Runner上作业无法并行运行的解决方法咨询

如何让GitLab CI中不同操作系统的作业并行运行

你的配置本身不需要额外添加关键字就能实现并行,作业串行大概率是以下几个原因导致的,逐个排查:

  • Runner并发能力不足:每个GitLab Runner的config.toml里concurrent参数默认是1,意味着单个Runner同一时间只能执行1个作业。如果你的RHEL7和RHEL8各对应一个独立Runner,要确保它们都处于在线状态;如果是同一个Runner对应两个标签,就得把concurrent值设为大于1,让它能同时处理多个作业。
  • 作业触发条件未同时满足:只有当你设置变量TEST="all"时,两个作业才会被同时触发。如果触发流水线时TEST设为rhel7或rhel8,只会跑对应单个作业,自然不存在并行。
  • 项目CI并发限制:去项目的「Settings → CI/CD → Pipelines」里检查,有没有设置「Maximum number of concurrent jobs per pipeline」,如果限制为1,作业会被强制串行执行。

验证方法:手动触发流水线时,在变量设置里填TEST=all,然后观察两个作业是否同时进入「running」状态;同时确认对应标签的Runner都是在线且空闲的。

你的当前配置代码:

stages:
  - test

rhel8:
  stage: test
  rules:
    - if: $TEST == "rhel8" || $TEST == "all"
  tags:
    - rhel8
  script:
    - echo "Test  RHEL 8"

rhel7:
  stage: test
  rules:
    - if: $TEST == "rhel7" || $TEST == "all"
  tags:
    - rhel7
  script:
    - echo "Test RHEL 7"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:40:29