如何实现GitLab存储库的门控签入?

如何实现GitLab存储库的门控签入?,gitlab,pre-commit-hook,gated-checkin,Gitlab,Pre Commit Hook,Gated Checkin,我的要求是,每当开发人员尝试签入现有的GitLab存储库时,在签入存储库之前,构建应该触发(Jenkins build),Junit测试用例应该在新的签入上运行,如果通过,那么它应该继续,并允许开发人员在主存储库中进行签入 我不确定,但预钩子提交是否可以达到这一要求?虽然可以通过预提交钩子实现这一点,但更常见的是通过服务器端的后提交钩子实现这一点 您可以通过运行基于分支的工作流来实现这一点,有多种选择—我建议您通读这篇文章 开发人员将从“主”分支创建分支(通常是主分支,但也可以是开发版本的“开发

我的要求是,每当开发人员尝试签入现有的GitLab存储库时,在签入存储库之前,构建应该触发(Jenkins build),Junit测试用例应该在新的签入上运行,如果通过,那么它应该继续,并允许开发人员在主存储库中进行签入


我不确定,但预钩子提交是否可以达到这一要求?

虽然可以通过预提交钩子实现这一点,但更常见的是通过服务器端的后提交钩子实现这一点

您可以通过运行基于分支的工作流来实现这一点,有多种选择—我建议您通读这篇文章

开发人员将从“主”分支创建分支(通常是主分支,但也可以是开发版本的“开发”分支),然后在该分支上开发代码。然后,他们将推送分支并提交到远程存储库(GitLab)。当准备合并到主分支时,开发人员可以在主分支上打开合并请求

在GitLab上,您可以设置一个webhook,在推送事件发生时触发Jenkins构建。我推荐你

在GitLab项目设置中,在允许合并请求合并之前,可以要求传递生成



此外,您对Git的理解似乎不正确-签入不是Git中使用的术语。请看一下文档。在Git中,开发人员针对存储库的本地副本创建提交,然后将这些提交推送到远程存储库(GitLab/GitHub等)。在各种集中版本控制系统(如SVN)中,没有直接等效的“签入”功能。

发布提示:请不要将您的电子邮件地址添加到帖子中,如果您愿意,请将其添加到您的个人资料中。读者更喜欢在公共场合帮忙,这样将来的读者可以从对话中受益。此外,最好不要期望您只需输入完整的解决方案-读者很乐意提供建议和帮助,但我们希望海报能够接受这些帮助,并将其与他们自己的努力结合起来。希望有帮助!相关的: