GitHub 或 GitLab CI 中每个提交的性能信息
Performance info for each commit in GitHub or GitLab CI
我正在使用 GitLab 托管一个以性能为主要关注点的项目。我目前有测试断言某些任务在给定时间内完成。
我想扩展我的 CI 配置以衡量特定提交或拉取请求如何影响性能,并以方便的格式(图表、提交的性能变化等)提供信息。
基本上我想要 coveralls.io 的等价物,除了性能而不是覆盖率。
我对在 GitHub 或 GitLab 上工作的所有解决方案感兴趣。
请注意,这个问题不是关于如何在CI中进行性能测试,而是关于以一种方便的方式呈现所获得的数据。
GitHub 或 GitLab 只是源代码控制托管服务,我的期望是您需要一个软件来编排构建,即:
- 通过commit hook获取源码
- 构建源代码
- 运行 测试
- 发布工件
这通常由 CI server and if you don't have one - you will need to choose it and if you don't have a better candidate - I'd recommend going for Jenkins 完成,这是某种形式的行业标准。
Jenkins 有 Performance Plugin 可以为以下格式构建性能趋势图表:
- JMeter XML 和 CSV 格式,还有 Summarizer 日志输出
- Taurus Tool Final Stats XML(通过它,您可以发布来自 JMeter、Gatling、Grinder、Siege、ab、Selenium 等的摘要)
- JUnit 格式(例如 SoapUI 使用)
- Twitter's Iago
- wrk
因此,如果您的测试以上述格式之一产生结果,您将能够得到如下图表:
此外,您还可以根据不同的标准(错误百分比、响应时间超过阈值、当前构建结果比以前差等)有条件地将您的构建标记为失败。
我正在使用 GitLab 托管一个以性能为主要关注点的项目。我目前有测试断言某些任务在给定时间内完成。
我想扩展我的 CI 配置以衡量特定提交或拉取请求如何影响性能,并以方便的格式(图表、提交的性能变化等)提供信息。
基本上我想要 coveralls.io 的等价物,除了性能而不是覆盖率。
我对在 GitHub 或 GitLab 上工作的所有解决方案感兴趣。
请注意,这个问题不是关于如何在CI中进行性能测试,而是关于以一种方便的方式呈现所获得的数据。
GitHub 或 GitLab 只是源代码控制托管服务,我的期望是您需要一个软件来编排构建,即:
- 通过commit hook获取源码
- 构建源代码
- 运行 测试
- 发布工件
这通常由 CI server and if you don't have one - you will need to choose it and if you don't have a better candidate - I'd recommend going for Jenkins 完成,这是某种形式的行业标准。
Jenkins 有 Performance Plugin 可以为以下格式构建性能趋势图表:
- JMeter XML 和 CSV 格式,还有 Summarizer 日志输出
- Taurus Tool Final Stats XML(通过它,您可以发布来自 JMeter、Gatling、Grinder、Siege、ab、Selenium 等的摘要)
- JUnit 格式(例如 SoapUI 使用)
- Twitter's Iago
- wrk
因此,如果您的测试以上述格式之一产生结果,您将能够得到如下图表:
此外,您还可以根据不同的标准(错误百分比、响应时间超过阈值、当前构建结果比以前差等)有条件地将您的构建标记为失败。