12

我知道 gitlab 对 Jenkins CI 有支持,但我需要的远不止这些。

我有一个 Rails 应用程序,并使用simplecov从测试中获取覆盖率。它通过运行rake任务在目录中生成 HTML 输出。我想通过 gitlab 查看当前的报道。有没有一种简单的方法可以将此报告与 gitlab 集成?

4

4 回答 4

8

我担心仍然没有简单的方法来集成代码覆盖率报告,但 Gitlab 现在支持(自集成 8.0 版以来)为您的代码构建作业。不幸的是,您必须通过编写自定义.gitlab-ci.yml来运行覆盖测试来实现您的解决方案。要查看报告,您可以指定生成的“工件”或在gitlab pages上发布它们。

有关更多信息,请参见此处:https ://about.gitlab.com/gitlab-ci/

此外,您可以解析文本输出以显示简短的代码覆盖率报告:

  • (启用构建和输出测试覆盖率)
  • 转到“项目设置”-> 构建
  • 添加到“测试覆盖解析”一个正则表达式(下面的示例,包括 simplecov)
于 2016-06-14T13:06:48.223 回答
7

请参阅使用 GitLab 页面发布代码覆盖率报告

于 2017-11-14T09:11:51.770 回答
3

简短的回答:不幸的是,没有简单的方法可以做到这一点。

更长的答案: GitLab 还没有 Jenkins 支持。

你基本上需要的是一个像 GitLab CI 或 Jenkins CI 这样的服务,它启动 simplecov 并将输出发送回 GitLab。不幸的是,GitLab 还没有提供这样的功能。

但我知道其他组织确实有 GitLab 的 Jenkins 服务,它会自动评论 git push 和 Jenkins 结果。

于 2013-08-03T17:29:19.777 回答
1

您现在(2020 年 6 月,GitLab 13.1 )除了测试覆盖解析之外,还有代码覆盖历史

项目的图形代码覆盖率随时间变化

很多时候,一个项目有一个代码覆盖率目标,但开发团队可能不太了解该目标值随着时间的推移而发展的方向。
需要一种更简单的方法来跟踪代码覆盖率随时间的变化,而不会带来额外的麻烦。

代码覆盖率图现在可以更好地了解代码覆盖率随时间的变化趋势。
它显示了在管道中计算的覆盖率值的简单图表。

https://about.gitlab.com/images/13_1/code-coverage-graph.png

请参阅文档问题


使用GitLab 13.6(2020 年 11 月),您还拥有(虽然不是免费的)

显示选定项目的代码覆盖率数据

在 13.4 中,我们发布了Groups 的代码覆盖率数据的第一次迭代,使您能够比较多个项目的覆盖率并从单个屏幕下载单个文件中的数据。但是,要分析数据,您必须打开文件手动检查,并可能将其导入电子表格进行进一步分析。在 GitLab 13.6 中,您现在可以选择组中的特定项目,直接在 GitLab 本身中查看它们的最新覆盖率值,而无需下载文件或浪费开发时间访问代码覆盖率数据。我们欢迎在我们的反馈问题中对此功能的功能和可能的迭代提供反馈。

https://about.gitlab.com/images/13_6/display_selected_coverage_projects_example.png -- 显示选定项目的代码覆盖率数据

请参阅文档问题

于 2020-06-23T04:57:52.243 回答