Jenkins + git - 确保构建已运行

时间:2015-12-18 10:04:14

标签: git jenkins continuous-integration

最近我与我们的devops讨论了以下情况,我不确定实现此目的的最佳技术方法是什么:

我们有一个"主人"分支和分配的工作詹金斯。一旦有人推动掌握,就会从git的服务器挂钩中触发工作。

现在我们有很多功能分支。 当开发人员完成他们的功能后,我们可以运行与主人相同的工作但是与他们的功能分支相同。

我们想要做的是自动化推送到掌握的流程:

  • 当开发人员完成开发并将所有提交转换为功能分支时,他/她将功能分支合并到最新的主分支中,以便功能分支现在包含主变更+开发人员的更改,完成手动和本地+手动检查一切是否正常。

  • 开发人员将功能分支推送到远程功能分支并触发Jenkins Job。 Jenkins的工作应该像构建master(使用集成测试和所有内容)一样构建功能分支,并提供"保证"功能分支已经过测试,有资格被推送到掌握。

  • 现在,由于合并回到master预计将是快进的,我们希望尽可能自动化,以便jenkins自动将其合并回master和push。当然,如果同时更改了主服务器,我们应该尝试将主服务器的最新更改合并回功能分支,然后重新运行功能分支上的构建。

该比率是为了避免推动掌握CI事先未检查过的代码。

我的问题是,在技术上组织这种流程的最佳方法是什么?

独自一个java开发人员我想到了一些groovy脚本的选项,它会在一些数据库+服务器端钩子中生成关于成功的jenkins构建在团队分支上的信息,这将检查该db是否可能合并更改回主分支。

有没有更好的工具?
也许有一些已经实现的解决方案吗?

谢谢

0 个答案:

没有答案