Jenkins拥有Maven3和多个SVN模块。如何设置不同的父关系路径?
我在为我们的詹金斯配置而挣扎 我定义了一个包含多个SVN模块的jenkins作业,因为我想从相同的SVN存储库的不同位置进行签出 我需要为每次签出定义一个可选的模块目录,因为如果我没有设置一个,Jenkins将签出同一目录中的所有模块,并且将始终覆盖我的.svn目录(并随后删除我以前签出的所有文件) 因此,我为每个签出设置了一个可选目录。从这一点来看,它与我在eclipse工作区中为exmaple签出所有包时使用的文件夹结构不同。 因为存在一个平面层次结构 因此,当jenkins和development之间的relativePath不同时,我不能在pom.xml中使用相同的relativePath来定义父级Jenkins拥有Maven3和多个SVN模块。如何设置不同的父关系路径?,svn,maven,jenkins,parent-pom,Svn,Maven,Jenkins,Parent Pom,我在为我们的詹金斯配置而挣扎 我定义了一个包含多个SVN模块的jenkins作业,因为我想从相同的SVN存储库的不同位置进行签出 我需要为每次签出定义一个可选的模块目录,因为如果我没有设置一个,Jenkins将签出同一目录中的所有模块,并且将始终覆盖我的.svn目录(并随后删除我以前签出的所有文件) 因此,我为每个签出设置了一个可选目录。从这一点来看,它与我在eclipse工作区中为exmaple签出所有包时使用的文件夹结构不同。 因为存在一个平面层次结构 因此,当jenkins和develop
Example:
Jenkins (Tree-hierarchie): <relativePath>../<optionalModuleDir>/pom.xml</relativePath>
Eclipse-Workspace(Flat hierarchie): <relativePath>../pom.xml</relativePath>
示例:
Jenkins(树层次结构):../pom.xml
Eclipse工作区(平面层次结构):../pom.xml
我尝试使用配置文件,但我只能在配置文件中设置模块,不能设置父相对路径
如何将相同的pom.xml与两个不同的父relativePath一起使用?或者我应该做些什么来解决这个问题呢?作为一种解决方法,修改maven构建,如下所示:
- 添加预构建步骤“执行shell”/“执行Windows批处理命令”
- 在此添加一个脚本,其中包含将所有内容移动到位或创建符号链接以创建所需结构的命令李>
当您的构建开始时,签出后,源代码将被带到所需的结构中,然后构建本身将执行。嘿,我用符号软链接尝试了它,但它不适用于父relativePath!但是这个主意真的很好。你知道它是否应该工作吗?这取决于你使用的maven版本。从外观上看,mvn 2.0.7中出现了一些问题。我只是用一个小样本项目进行了尝试:
\project\pom.xml
注册了一个模块\module\pom.xml
,指向项目的pom作为父级\project\module>。\module
符号链接到外部文件夹中的模块<代码>mvn清洁安装适合我。谢谢。事实上,你是对的,我也用一个小样本项目进行了尝试,效果很好。奇怪的是,它在我真正的项目中不起作用。我使用的是Maven 3.0.4。似乎有一个bug。我不知道了,还有什么可能是错误的…我也在使用MVN304,所以它不应该是一个bug。您可能希望验证项目中的pom文件配置。您得到了什么错误?不可解析的父POM:在错误的本地POM@line 8,column 11->[Help 2]中,我在父POM.xml中定义了一些子模块(../Modules/Module1,等等一个),找不到工件“我们的父POM”和“parent.relativePath”,maven找到了它们。在所有模块中,我将“../parent/定义为相对于父级的路径。”../parent”是指向../../parent的符号链接