将加特林报告上传到 s3

Uploading gatling report to s3

我正在运行集群中进行一些压力测试。我在 jar 中编译 Gatling 代码,然后 运行 在 dockerized 环境中编译它。同样,我想知道是否有办法将最终的 Gatling 报告上传到 S3。 Gatling 模拟 class 中有 after 挂钩,但我认为这是在生成报告之前执行的。

我认为在不更改加特林代码或 jar 的情况下执行此操作的一种简单方法是:

  • 使 docker 容器 运行 将测试 运行 作为初始化容器
  • 在初始容器有 运行 之后,一个主容器启动并可以使用 bash 命令或其他任何东西(例如,使用 tinys3 - https://github.com/smore-inc/tinys3 )进行 s3 上传

只是一个一般的例子:

apiVersion: v1
kind: Pod
metadata:
  labels:
    app.kubernetes.io/instance: gatling-stress-test
    app.kubernetes.io/name: gatling-stress-test
  name: gatling-stress-test
spec:
  initContainers:
  - name: gatling-stress-test-runner
    image: gatling-docker-image:latest
    imagePullPolicy: Always
    volumeMounts:
    - mountPath: /full/path/to/gatling/reports
      name: reports
  containers:
  - name: stress-test-s3-copier
    image: ubuntu-image-with-tinys3:latest
    imagePullPolicy: Always
    volumeMounts:
    - mountPath: /full/path/to/gatling/reports
      name: reports
  volumes:
  - emptyDir: {}
    name: reports