Drone.io 与jmeter整合

Drone.io and jmeter integration

我正在为我的 CI/CD 管道使用 drone.io。我想使用 jmeter/gatling 作为响应断言的一部分。目前,drone.io 没有为此提供插件。

我正在考虑通过创建 bash 插件并针对环境触发 运行 来集成 jmeter 运行。这是正确的解决方案吗? jdk 基本图像是否足以在容器中 运行 jmeter 脚本?

只要 JMeter 支持 JDK(例如 JMeter 3.3 requires Java 8 and doesn't support Java 9),您就可以开始了。

除了命令行执行,您还可以考虑 JMeter Ant Task or JMeter Maven Plugin,它能够生成基于 HTML 的负载测试报告。

与 Gradle 一起使用加特林机 - http://brokenrhythm.blog/gradle-gatling-springboot-automation

这是示例 drone.yml 文件

#Pipeline file for project
pipeline:
  load-test:
    commands:
      - "./gradlew testLoad"
    image: "java:8"

  zipping:
    image: ubuntu
    when:
      status: [ failure,success ]
    commands:
      - "cp -r path/to/workspace/build/gatling-results/* /test-results"
      - "tar -czf gatling-result.tar.gz /test-results/*"

  email:
    when:
      status: [ failure,success ] #replace with [failure,changed] as we dont want to fill inbox with attachments
    image: drillster/drone-email
    from: drone-noreply@XXXXX.com
    host: smtp.XXXX.com
    port: 25
    skip_verify: true
    subject: >
      {{ repo.owner }}/{{ repo.name }}: {{ build.status }}
    recipients: [ user@email.com ]
    attachment: path/to/workspace/gatling-result.tar.gz