Jenkins与Maven3和多个SVN模块。如何设置不同的父相对路径?

时间:2012-12-12 10:13:42

标签: svn maven jenkins parent-pom

我正在努力使用Jenkins配置。

我已经定义了一个带有多个SVN模块的jenkins-job,因为我想从相同的 svn-repository中的不同位置签出。

我需要为每个结帐定义一个可选模块目录,因为如果我没有设置一个,Jenkins将检出同一目录中的所有模块并始终覆盖我的.svn-目录(并随后删除所有文件,我之前已经签出)。

所以我为每个结帐设置了一个可选目录。从这一点来说,它与我使用的文件夹结构不同,当我在我的eclipse-workspace中检查我的所有包时,为exmaple。 因为有一个 flat-hierarchie

因此,当jenkins和开发之间的 relativePath 不同时,我不能在我的pom.xml中使用相同的 relativePath 来定义父级。

Example:

Jenkins (Tree-hierarchie): <relativePath>../<optionalModuleDir>/pom.xml</relativePath>

Eclipse-Workspace(Flat hierarchie): <relativePath>../pom.xml</relativePath>

我尝试使用配置文件,但我只能在配置文件中设置 modules ,而不是父 relativePath

如何在两个不同的父 relativePath 中使用相同的pom.xml?或者我应该怎么做才能解决问题?

1 个答案:

答案 0 :(得分:2)

作为解决方法修改您的maven构建,如下所示:

  • 添加预构建步骤“执行shell”/“执行Windows批处理命令”
  • 在此添加一个脚本,其中包含用于移动所有内容的命令或创建符号链接以创建所需的结构。

当你的构建开始时,在结账之后,源将被带入所需的结构,然后构建本身就会执行。