1

我正在为我们的 Jenkins 配置而苦苦挣扎。

我已经定义了一个包含多个 SVN 模块的 jenkins 作业,因为我想从同一个svn 存储库的不同位置签出。

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

所以我为每个结帐设置了一个可选目录。从这一点开始,它与我使用的文件夹结构不同,当我在我的 eclipse-workspace 中检出我的所有包以获取 exmaple 时。因为有一个扁平的层次结构

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

Example:

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

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

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

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

4

1 回答 1

2

作为一种解决方法,如下修改您的 Maven 构建:

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

当您的构建开始时,签出后源将被带入所需的结构,然后构建本身执行。

于 2012-12-12T13:25:15.490 回答