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

如何在.gitlab-ci.yml中配置按需手动触发的并行测试任务

GitLab CI 按需手动并行测试配置方案

核心配置逻辑

要匹配你的5个浮动测试许可、按需手动触发不同数量并行作业的需求,核心用到以下GitLab CI特性:

  • 手动触发规则:通过when: manual参数控制所有测试作业仅在手动点击后执行,不会自动运行
  • 并行作业配置:通过parallel参数快速生成指定数量的并行测试作业
  • 全局并发限制:在项目设置中配置最大并行作业数为5,避免同时运行的作业超过许可数量导致测试失败

前置项目配置

先进入你的GitLab项目,依次打开「设置」→「CI/CD」→「通用管道」,将最大并行作业数设置为5,刚好匹配你的测试许可总数,多个流水线的作业会自动排队,避免许可抢占。

.gitlab-ci.yml 基础示例

# 定义测试作业通用模板,所有测试作业复用该配置
.test_base:
  script:
    # 这里替换为你实际的测试脚本,包含连接许可服务器的逻辑
    - echo "开始执行测试脚本,连接许可服务器获取许可"
    - bash run_test.sh
  tags:
    # 替换为你实际的运行器标签
    - test-runner
  allow_failure: false

# 场景1:单组测试,仅运行1个作业
single_test:
  extends: .test_base
  when: manual

# 场景2:3组并行测试,触发后同时运行3个作业
parallel_3_test:
  extends: .test_base
  when: manual
  parallel: 3

# 场景3:5组并行测试,触发后同时运行5个作业
parallel_5_test:
  extends: .test_base
  when: manual
  parallel: 5

配置说明

  • 所有测试作业均为手动触发,你可以根据实际需求选择对应场景的作业点击运行即可
  • 如果不同场景需要执行不同的测试脚本,可以直接在对应场景的作业中覆写script字段,或者通过CI变量传递测试参数
  • 支持同时运行多个独立流水线:只要所有运行中流水线的作业总数不超过5,作业会正常执行;超过5个的部分会自动排队,等前面的作业运行完成释放许可后再执行
  • 如果需要区分不同并行作业的测试参数,可以通过CI_NODE_INDEX内置变量获取当前作业的并行序号,在测试脚本中根据序号加载不同的测试用例分组

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:27:00