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

如何配置GitLab CI任务运行集成sbt的Gatling测试?已装插件不知如何执行场景

配置GitLab CI运行sbt集成的Gatling测试指南

我来帮你一步步搞定这个配置,之前在几个负载测试项目里这么搭过,流程很顺畅:

一、先确认本地sbt Gatling配置没问题

既然你已经部署了sbt Gatling插件,还是先做个快速校验,避免本地跑不通导致CI踩坑:

  • 检查project/plugins.sbt里是否有插件依赖:
    addSbtPlugin("io.gatling" % "gatling-sbt" % "3.10.3") // 替换成你用的版本
    
  • 检查build.sbt里是否启用了插件:
    enablePlugins(GatlingPlugin)
    
  • 确认你的Gatling测试场景(继承Simulation的类)放在默认路径src/gatling/scala下,或者你自定义的路径已经在sbt里配置好
  • 本地执行sbt gatling:test,确保所有测试能正常运行,没有报错

二、编写GitLab CI配置文件(核心步骤)

在项目根目录创建.gitlab-ci.yml文件,下面是一个通用的配置模板,我会逐段解释:

stages:
  - test

gatling-load-test:
  stage: test
  # 选择包含JDK、Scala、sbt的镜像,避免手动安装依赖
  image: hseeberger/scala-sbt:17.0.6_1.9.0_3.3.1
  # 缓存sbt依赖,大幅加快CI运行速度
  cache:
    paths:
      - ~/.ivy2/cache
      - ~/.sbt
      - target/resolution-cache
  script:
    # 执行所有Gatling测试,若要指定单个场景用:sbt "gatling:testOnly com.your.package.YourSimulation"
    - sbt gatling:test
  # 保存Gatling测试报告,作为CI产物方便查看
  artifacts:
    paths:
      - target/gatling
    # 报告保存1周,可根据需求调整
    expire_in: 1 week
  # 可选:给测试分配更多资源,避免runner性能不足
  resources:
    limits:
      memory: 4G
      cpu: 2

关键部分解释:

  • 镜像选择:用hseeberger/scala-sbt系列镜像,里面预安装了对应版本的JDK、Scala和sbt,省去了安装步骤,也能避免版本不一致的问题,你可以根据自己项目的JDK/sbt版本选择对应的镜像标签。
  • 缓存配置:缓存sbt的依赖目录,这样每次CI运行时不用重新下载所有依赖,能节省大量时间。
  • 测试命令:sbt gatling:test会运行所有Gatling测试场景;如果只想跑特定场景,把命令改成sbt "gatling:testOnly com.your.package.YourSimulation",替换成你自己的模拟类全路径即可。
  • 产物保存:Gatling的测试报告默认生成在target/gatling目录,配置artifacts后,你可以在GitLab的CI job页面下载或在线查看报告,非常方便。

三、额外优化建议

  1. 环境变量注入:如果你的测试需要动态配置目标服务地址、并发数等参数,可以在GitLab项目的「设置→CI/CD→变量」里配置环境变量,然后在Gatling模拟类里读取:
    val targetUrl = sys.env.getOrElse("TARGET_URL", "http://localhost:8080")
    
  2. 失败断言处理:Gatling默认会在测试断言失败时返回非0退出码,GitLab CI会自动标记job失败,完全符合我们的需求,不用额外配置。
  3. 定时运行测试:如果需要定期执行负载测试,可以在GitLab CI里配置流水线调度(在项目「CI/CD→调度」里设置),比如每天凌晨跑一次,自动监控系统性能。

最后提醒

先在本地确保sbt gatling:test能正常运行,再把配置推到GitLab上触发CI,这样能快速排查是本地配置问题还是CI环境问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 17:02:55