最近我与我们的devops讨论了以下情况,我不确定实现此目的的最佳技术方法是什么:
我们有一个"主人"分支和分配的工作詹金斯。一旦有人推动掌握,就会从git的服务器挂钩中触发工作。
现在我们有很多功能分支。 当开发人员完成他们的功能后,我们可以运行与主人相同的工作但是与他们的功能分支相同。
我们想要做的是自动化推送到掌握的流程:
当开发人员完成开发并将所有提交转换为功能分支时,他/她将功能分支合并到最新的主分支中,以便功能分支现在包含主变更+开发人员的更改,完成手动和本地+手动检查一切是否正常。
开发人员将功能分支推送到远程功能分支并触发Jenkins Job。 Jenkins的工作应该像构建master(使用集成测试和所有内容)一样构建功能分支,并提供"保证"功能分支已经过测试,有资格被推送到掌握。
该比率是为了避免推动掌握CI事先未检查过的代码。
我的问题是,在技术上组织这种流程的最佳方法是什么?
独自一个java开发人员我想到了一些groovy脚本的选项,它会在一些数据库+服务器端钩子中生成关于成功的jenkins构建在团队分支上的信息,这将检查该db是否可能合并更改回主分支。
有没有更好的工具?
也许有一些已经实现的解决方案吗?
谢谢