【问题标题】:Is there a way to show build status/code coverage per branch有没有办法显示每个分支的构建状态/代码覆盖率
【发布时间】:2016-11-30 14:35:33
【问题描述】:

我们正在 GitLab 上设置 CI,我们可以使用以下命令在 master 上显示构建状态和代码覆盖率:

README.mdmyproject的根目录下:

[![build status](http://mygitlab/mygroup/myproject/badges/master/build.svg)](http://mygitlab/mygroup/myproject/commits/master) 
[![coverage report](http://mygitlab/mygroup/myproject/badges/master/coverage.svg)](http://mygitlab/mygroup/myproject/commits/master)

我们希望在查看分支中的README.md 时显示当前分支的构建状态/代码覆盖率。现在,链接有master 硬编码,因此分支显示主节点的状态。

有没有办法使用相对 URL(或其他东西),以便构建状态/代码覆盖率自动适应您正在查看的分支?看documentation,好像是不可能的,因为要指定分支。

【问题讨论】:

  • 我不相信有办法。这实际上是通过这些自述降价嵌入 URL 暴露此信息的弱点。对于长期存在的分支,我一直在创建 WIKI 来包含覆盖信息。对于所有分支的本地查看,我认为可以提出一个功能请求,让 Gitlab 的 ruby​​ 前端显示所有分支的仪表板式视图,包括它们的 CI 状态、代码覆盖率和其他内容。对于短命的分支机构,这种信息是噪音,至少在我工作的地方不是信号。
  • @WarrenP 我猜你是对的。我们的分支机构的生命周期很短(± 2 周),因此拥有这些信息可能不会增加太多价值。
  • 在审查合并请求时,我真正想看到的是合并请求之前和之后的代码覆盖率。哦,看,你的代码覆盖率随着这个 MR 上升了!耶!哦,看它在这个 MR 中失败了!悲伤!
  • 对于长期存在的分支,是否可以将所有这些信息放在默认分支的 README.md 中的一个表中?或者甚至有一个单独的项目作为具有自述文件的仪表板?
  • @ahogen 我们做类似的事情。 CI 为master 中的每个合并触发一个脚本,并将覆盖数据插入到数据库中。我们可以绘制数据以查看时间的演变。

标签: gitlab gitlab-ci


【解决方案1】:

从 GitLab 9.3 开始(仅适用于 Starter/Bronze 及更高版本),代码质量将作为 CI/CD 管道的一部分进行评估,结果将显示在合并请求中。

您可以在GitLab Code Quality 的文档中查看合并请求中的示例。

这通过 Auto DevOps “自动”工作,或者您可以使用 Code Quality examples 手动配置代码质量

这并没有解决在自述文件中显示给定分支的代码质量和管道状态的问题。如前所述,它确实显示了 MR 本身的流水线状态和代码质量。但是,在查看特定分支时,页面顶部的提交确实显示了整体管道状态。单击该状态以转到管道以获取更详细的作业信息,包括代码质量作业本身。

它不像您正在寻找的那样方便,但它是一种解决方法。通常,对质量和构建状态的关注对于提议的合并请求本身是最重要的,可以在将它们合并到主/目标分支之前进行修复。

【讨论】:

    【解决方案2】:

    我真正想看到的是代码覆盖率是在合并请求之前和之后,同时审查合并请求

    实际上,使用GitLab 13.4(2020 年 9 月)会更容易

    在 MR 中显示代码覆盖率值的作业数据

    作为开发人员,您应该能够在管道完成运行后轻松查看代码覆盖率,即使是在使这变得更加困难的复​​杂场景中,例如当您的管道有多个要解析以计算覆盖率值的作业时。

    到目前为止,合并请求小部件仅显示这些值的平均值,这意味着您必须导航到作业页面,然后返回合并请求本身才能获得覆盖率值的更详细的详细信息。

    为了节省您的时间并消除那些额外的步骤,现在您会看到平均覆盖率值、它与目标和源分支的变化情况,以及一个工具提示,显示用于计算平均值的每个作业的覆盖率.

    参见DocumentationIssue

    【讨论】:

      【解决方案3】:

      有没有办法显示每个分支的构建状态/代码覆盖率

      与此相关的一个新功能是 GitLab 13.6(2020 年 11 月):

      分支和标签列表中的管道状态

      如果您使用带有标签或分支的 CI/CD 管道并想了解最新的管道状态,您之前必须从分支列表或标签列表导航到管道页面。现在,每个分支或标签的管道状态图标都显示在其各自的列表视图中,因此您可以通过更少的点击快速获取许多标签或分支的此信息。

      感谢Lee Tickett 的贡献!

      请参阅 DocumentationIssue

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-21
        • 2017-10-20
        • 1970-01-01
        • 1970-01-01
        • 2012-01-11
        • 1970-01-01
        • 2013-06-16
        • 2019-06-20
        相关资源
        最近更新 更多