用于在没有合并请求的情况下通过所有测试的合并钩子

Posted

技术标签:

【中文标题】用于在没有合并请求的情况下通过所有测试的合并钩子【英文标题】:merge hook for passing all tests without merge request 【发布时间】:2019-11-24 10:23:41 【问题描述】:

我们团队大部分时间会直接push去开发,会合并然后触发Jenkins跑测试。如果所有测试都通过,那么它将自动构建给 Alpha 用户。我想知道是否有可能有一个合并钩子,在它被合并到开发之前,所有测试都必须通过。这样,其他程序员就不会检查损坏的代码。或者也许这根本不是必要的问题。

【问题讨论】:

您已将此标记为“Bitbucket”,但您询问的是 BB 服务器(本地)还是 BB 云(bitbucket.org)?两者都在“合并检查”下提供。 【参考方案1】:

许多团队处理此问题的方式是保护目标分支。在 Bitbucket 中,它被称为合并检查;在 Github 中它被称为受保护的分支。

您将从直接推送到 master 的开发人员过渡到向 master 打开 pull 请求的开发人员,然后为通过 CI 测试构建添加合并检查。在这个世界上,您不能将提交合并到开发中,除非它具有通过的测试套件。

Suggest or require checks before a merge

【讨论】:

以上是关于用于在没有合并请求的情况下通过所有测试的合并钩子的主要内容,如果未能解决你的问题,请参考以下文章

如何在不实际合并的情况下测试合并

如何在BitBucket上限制pull请求的作者的合并权限

在某些情况下如何合并/合并日期(年份)

如何在git中获取合并请求的所有提交?

合并没有空格冲突

SQL 合并计数结果