将git和hudson与包含多个项目的一个存储库一起使用的最佳实践是什么

将git和hudson与包含多个项目的一个存储库一起使用的最佳实践是什么,git,jenkins,continuous-integration,hudson,git-submodules,Git,Jenkins,Continuous Integration,Hudson,Git Submodules,我曾经提出过一个类似的问题,但在做了一些研究和长时间的抨击之后,我得出结论,我需要更多的指导 我们目前已经从SVN迁移到GIT,最大的影响是我们的CI服务器。因为您不能在GIT中签出子目录 我们的存储库由多个项目组成,我们喜欢保持这种方式,因为每个开发人员都创建自己的故事分支,并在完成故事后与主分支合并 另一方面,我们无法使用git存储库配置Hudson或Jenkins,以便为每个子文件夹创建单独的任务,这些子文件夹对应于单独的maven项目 我知道建议使用子模块,但如果我们将每个maven项目

我曾经提出过一个类似的问题,但在做了一些研究和长时间的抨击之后,我得出结论,我需要更多的指导

我们目前已经从SVN迁移到GIT,最大的影响是我们的CI服务器。因为您不能在GIT中签出子目录

我们的存储库由多个项目组成,我们喜欢保持这种方式,因为每个开发人员都创建自己的故事分支,并在完成故事后与主分支合并

另一方面,我们无法使用git存储库配置Hudson或Jenkins,以便为每个子文件夹创建单独的任务,这些子文件夹对应于单独的maven项目

我知道建议使用子模块,但如果我们将每个maven项目配置为子模块,我们的子分支将不会以我们想要的方式进行

感觉应该可以这样配置,但到目前为止还没有取得任何进展


在这种情况下,建议我们做什么?

我同意@KingCrunch的说法,即每个项目都应该有一个单独的回购协议,但如果出于某种原因您必须保留您的单一回购协议,您可以这样做:

  • 对于每个Jenkins构建,单击Git部分中的Advanced按钮 并设置“包含/排除区域”字段,以便只进行轮询 用于在包含项目代码的子文件夹中进行更改 正在建造中
  • 设置作业的Maven构建步骤,从相应的子目录中获取POM文件

  • 此外,您已经说过,您希望保留它:您应该为每个项目使用一个存储库,因为。。。那么,您的存储库中就没有混合的项目了;)就我所知,它不会改变工作流程。是的,但是拥有子模块并没有什么意义,实际上在这种情况下它们是非常无用的:)