【发布时间】:2013-07-23 13:40:47
【问题描述】:
我知道 gitlab 对 Jenkins CI 有支持,但我需要的远不止这些。
我有一个 Rails 应用程序并使用 simplecov 从测试中获取覆盖率。它通过运行rake 任务在目录中生成HTML 输出。我想通过 gitlab 查看当前的报道。有没有一种简单的方法可以将此报告与 gitlab 集成?
【问题讨论】:
我知道 gitlab 对 Jenkins CI 有支持,但我需要的远不止这些。
我有一个 Rails 应用程序并使用 simplecov 从测试中获取覆盖率。它通过运行rake 任务在目录中生成HTML 输出。我想通过 gitlab 查看当前的报道。有没有一种简单的方法可以将此报告与 gitlab 集成?
【问题讨论】:
我担心仍然没有简单的方法来集成代码覆盖率报告,但 Gitlab 现在支持(自集成 8.0 版以来)为您的代码构建作业。不幸的是,您必须通过编写自定义.gitlab-ci.yml 来运行您的覆盖测试来实现您的解决方案。要查看报告,您可以指定generated "artifacts" 或在gitlab pages 上发布它们。
欲了解更多信息,请参阅此处:https://about.gitlab.com/gitlab-ci/
此外,您可以解析文本输出以显示简短的代码覆盖率报告:
【讨论】:
简短的回答:不幸的是,没有简单的方法可以做到这一点。
更长的答案: GitLab 还没有 Jenkins 支持。
您基本上需要的是一个像 GitLab CI 或 Jenkins CI 这样的服务,它启动 simplecov 并将输出发送回 GitLab。不幸的是,GitLab 还没有提供这样的功能。
但我知道其他组织确实为 GitLab 提供了 Jenkins 服务,该服务会自动评论 git pushs 以及 Jenkins 结果。
【讨论】:
除了Test coverage parsing之外,您现在 (June 2020, GitLab 13.1) 还拥有代码覆盖率历史。
项目的图形代码覆盖率随时间变化
通常,一个项目有一个代码覆盖率目标,但开发团队可能不太了解该目标值随时间推移的趋势。
需要一种更简单的方法来跟踪代码覆盖率随时间的变化,而不会带来额外的麻烦。
代码覆盖率图表现在可以更好地了解代码覆盖率随时间的变化趋势。
它显示了在管道中计算的覆盖率值的简单图表。
有了GitLab 13.6(2020 年 11 月),您还拥有(虽然不是免费的)
显示选定项目的代码覆盖率数据
在 13.4 中,我们发布了Code Coverage data for Groups 的第一个迭代,它使您能够比较多个项目的覆盖范围并从单个屏幕下载单个文件中的数据。但是,要分析数据,您必须打开文件手动检查,并可能将其导入电子表格进行进一步分析。 在 GitLab 13.6 中,您现在可以选择组中的特定项目,直接在 GitLab 本身中查看它们的最新覆盖率值,而无需下载文件或浪费开发时间访问代码覆盖率数据。欢迎在我们的feedback issue 中对此功能的功能和可能的迭代提供反馈。
参见Documentation 和Issue。
【讨论】: