Configuration 如何为多模块maven项目配置Jenkins
我有一个maven多模块项目。结构如下所示:Configuration 如何为多模块maven项目配置Jenkins,configuration,maven,jenkins,multi-module,Configuration,Maven,Jenkins,Multi Module,我有一个maven多模块项目。结构如下所示: -modulA (Main project) - pom.xml -parentModul (Aggregator) - pom.xml - ModulB (Integration Test Project) -pom.xml 包定义如下: <project ...> <modules> <module>../modulA</modul
-modulA (Main project)
- pom.xml
-parentModul (Aggregator)
- pom.xml
- ModulB (Integration Test Project)
-pom.xml
包定义如下:
<project ...>
<modules>
<module>../modulA</module>
<module>ModulB</module>
</modules>
../modulA
模B
其中一个模块(ModulA)具有相同的层次结构级别,另一个位于父模块中。 我尝试在Jenkins中添加一个作业来自动构建所有。(清洁包装)
如何配置parentModul查找其他模块并构建项目的作业。?添加另一个聚合器。将modulA和ParentModula放在同一目录中,并在其上一级,只需添加另一个pom,如下所示:
aggregator/
|- modulA/
| |- pom.xml
|- parentModul/
| |- modulB/
| | |- pom.xml
| |- pom.xml
|- pom.xml
在aggregator/pom.xml中定义模块部分,如下所示:
<project ...>
<modules>
<module>modulA</module>
<module>parentModul</module>
</modules>
</project>
模数
父模块
在我的情况下,不可能添加另一个父项目。模块已经独立于其他模块在SVN中进行了检查
这表明您在
部分中放置模块a
可能是错误的。如果moduleA
具有不同的生命周期,那么您应该将其作为一个依赖项包含进去。一个解决方案是使用SVN外部从疯狂的SVN结构组装sane Maven项目工作区,甚至可以跨不同的SVN服务器。使用svn external并不是一个理想的解决方案,因为它会导致maven release插件和CI在特定配置中的SCM轮询出现问题。他们告诉你:“你不应该使用svn外部”,因为这会让生活变得更加困难。但腿石膏和拐杖也是如此,但当你的腿(或svn结构,即fubar)骨折时,你真的不介意给你带来不便
根据您的SVN结构和所需的工作空间结构,有几种方法可以做到这一点:
svn余模
cd模块a
svn propedit svn:externals.
NB:注意行末的(curdir)点强>modulA/
| |- pom.xml
parentModul/
|- modulB/
| |- pom.xml
|- pom.xml
pom.xml
或者,您可以向SVN“workplace”添加一个新目录,并在其中添加新的pom.xml,然后通过SVN externals将您可能需要的所有模块都添加到一个级别(或多个级别) 听了你的评论,我有点不知所措。“ModuleA”具有相同的层次结构级别”-与哪个相同?pom片段来自“parentModule”,对吗?如果“ModuleA”单独签入SVN,为什么要用“parentModule”编译它"? 最后:您的错误消息到底是什么?您始终可以在SVN中重新构造/重构目录。在我看来,你所做的似乎不正确。