GitHub 或 GitLab CI 中每个提交的性能信息

Performance info for each commit in GitHub or GitLab CI

我正在使用 GitLab 托管一个以性能为主要关注点的项目。我目前有测试断言某些任务在给定时间内完成。

我想扩展我的 CI 配置以衡量特定提交或拉取请求如何影响性能,并以方便的格式(图表、提交的性能变化等)提供信息。

基本上我想要 coveralls.io 的等价物,除了性能而不是覆盖率。

我对在 GitHub 或 GitLab 上工作的所有解决方案感兴趣。

请注意,这个问题不是关于如何在CI中进行性能测试,而是关于以一种方便的方式呈现所获得的数据。

GitHub 或 GitLab 只是源代码控制托管服务,我的期望是您需要一个软件来编排构建,即:

  1. 通过commit hook获取源码
  2. 构建源代码
  3. 运行 测试
  4. 发布工件

这通常由 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 可以为以下格式构建性能趋势图表:

因此,如果您的测试以上述格式之一产生结果,您将能够得到如下图表:

此外,您还可以根据不同的标准(错误百分比、响应时间超过阈值、当前构建结果比以前差等)有条件地将您的构建标记为失败。