除非通过詹金斯,否则阻止推送到原点/主人

时间:2016-02-17 03:00:48

标签: git jenkins continuous-integration

我对持续整合感到陌生,我刚刚开始查看Jenkins,因为我正在做这件事,我试图弄清楚究竟是什么我真的需要即将发生。我想阻止推送到主分支,除非通过将构建/测试/验证等的Jenkins作业,以便主分支是一个干净的工作副本,随时可以在任何开发机器上使用。我将使用功能分支工作流程。

我该如何实现?有没有更好的解决方案我尚未阅读?

提前致谢

2 个答案:

答案 0 :(得分:1)

这将有助于here

您通常不会让开发人员推动掌握,而是如此处所示的“开发”或“集成”分支。该链接在设置方面非常详细。

配置Jenkins:

  1. 项目 - >配置 - >源代码管理 - > Git的。设置以获得集成分支。
  2. 在构建之前选择合并。有关主分支的详细信息。
  3. 构建后 - > Git Publisher。选中“仅在构建成功时按下,并输入主分支的详细信息。
  4. 现在,如果构建成功,jenkins将配置为将集成分支合并到master。这假设您的存储库已设置并具有一个名为integration的分支。您可以做的另一件事是设置构建触发器以自动触发构建。

答案 1 :(得分:0)

让你的repo为每个分支,基本分支和验证分支使用两个ref。您的预接收退出拒绝推送到基本分支,并且您的post-receive会在推送到验证分支时为新SHA排队jenkins作业。

jenkins的工作会在每次成功时快速转发基础分支,因此例如master和master-validation正在玩行军蚂蚁技巧。失败时,jenkins作业会强制验证分支返回基准参考,并刷新该分支的所有待处理作业。

看起来Fo's answer链接到涉及自动合并和多个回购的更复杂系统的描述。