是否有工具在Maven项目/ SCM场景中实现以下抽象操作?
背景(原创):
如您所知,Git建议使用每个项目的存储库结构范例。与此同时,在我们的Maven案例中,任何严肃的项目都附属于几个内部图书馆。在任何sprint期间,项目和它所附加的库都会被修改。在Git世界中,这意味着修改将存在于几个Git存储库中。
如果我们想在sprint中分支出来的工作,可能是因为我们使用Gitflow,它邀请我们在sprint结束时创建一个发布分支,我们如何在所有涉及的库中以逻辑方式完成它在sprint中,而不是手动分支每个库?
Maven感知工具(可以反省POM以找出传递快照依赖列表的工具)会更好。
我可以在代表我的一个逻辑分支的多个物理分支(每个项目一个)之间创建逻辑关系吗?
Git或某些Git工具是否支持逻辑分支?
我希望你不要说子模块。我在这里寻找的是抽象出VCS的细节,而不是成为Git大师。此外,我希望在可能的情况下在一个操作中执行操作,因为必须单独分支每个库容易出错且容易被遗忘。
答案 0 :(得分:1)
设置Jenkins服务器。
它可以将每个maven模块构建为一个单独的项目,然后自动重建任何其他具有快照依赖关系的项目。
Jenkins的GIT插件具有管理将开发功能分支自动合并到“主”或“集成”分支的功能。请参阅文档:
https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-AdvancedFeatures
另一种选择是使用像Gerrit这样的代码审查工具来控制功能开发。 同样,Gerrit控制集成到共享代码流的更改,Gerrit可以与Jenkins集成,以确保所有提交的更改集都通过代码测试。
最后使用M2 Release plugin剪切版本,{{3}}是标准版本插件的包装器。 (意味着你将在Jenkins中总是有两种类型的构建。由代码提交触发的自动构建和通过UI显式触发的发布构建。)
答案 1 :(得分:0)
看看我发现了寻找Gitflow的其他内容: https://github.com/nvie/gitflow
它不能与Maven一起使用,因此它不符合我的需要,但它可能对你有帮助。