2017-06-12 79 views
0

我的要求是每当开发人员尝试检入现有的GitLab存储库,然后在存储库中签入之前,构建应该触发(Jenkins构建)并且Junit测试用例应该在新的签入中运行,如果通过则应该去转发并允许开发人员在主存储库中执行检入。如何实现GitLab Repository的门控签入?

我不知道,但前钩提交能够达到这一要求?

+2

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

回答

1

虽然你可以用预提交挂钩做到这一点,这是比较常见的与服务器端的post-commit挂钩这样做。

您可以通过操作一个基于工作流的分支实现这一目标,有多个可供选择 - 我会建议通过这个guidance by Atlassian阅读。

开发商将从“主”分支创建分支(通常掌握,但也可以是“开发”分支向例如释放工作),然后制定该分支代码。然后他们将推送他们的分支并提交到远程仓库(GitLab)。准备合并到主分支时,开发人员可以在主分支上打开合并请求。

在GitLab你可以设置一个网络挂接触发时推事件发生时,詹金斯的基础之上。我会推荐this guide to guide you through it

在GitLab项目设置,您可以要求通过构建之前合并请求被允许合并。


此外,你对Git的理解看起来不正确 - 检入不是在Git中使用的术语。请看一下Git文档。在Git中,开发人员创建对本地存储库副本的提交,然后将这些提交到远程存储库(GitLab/GitHub等)。在各种集中版本控制系统中使用的“登记”没有直接的等价物,例如, SVN。