1

我想用一个用户定义的轴(称之为“轴”)在Jenkins中设置一个多配置项目。然后,将使用与每个配置关联的值调用${axis}/pom.xml中的顶级Maven目标。问题是,如果确实存在(${axis}$axis$AXIS${env.axis}全部失败),我无法找到适当的语法。我认为这将是shell语法,它似乎不是,但无论它应该是简单的还是不可能的。可能吗?Jenkins多配置项目用户定义的轴环境变量

+0

感谢您的回答 - 我无法快速解决此问题,因此我使用了完全不同的构建框架。 – ajk8

回答

0

我们使用JDK轴,只是使用JDK的名称,所以我觉得你可以只使用axis/pom.xml

1

${axis}/pom.xml应该在我的工作经验。

0

您的Jenkins安装是否在Windows上运行?

对于每个定制轴,都会创建一个环境变量。如果您的服务器运行的是Linux,则可以使用${axis}来引用您的自定义轴,但在Windows上,您必须将其称为%axis%

+0

%axis%语法确实在windows批处理命令中有效,但在运行Maven构建时不会解析。轴值作为系统属性传递给mvn命令(使用-D标志) –

1

我明白OP已经以不同的方式解决了这个问题, Hudson在Windows和Linux中。

你需要的语法很简单$axis/pom.xml

我定义的BuildProfile=compile unitTest integrationTest

而且在Maven 3配置的轴(在高级属性)答:我还没有在詹金斯试了一下的$BuildProfile/pom.xml

POM文件将所得构建了在控制台下面的输出(已编辑为简洁起见):

[1.7.0_25] $ C:\用户... \ BIN \ mvn.bat干净安装-V -B -DBuildProfile =编译-f 编译/ pom.xml的

[1.7.0_25 ] $ C:\用户\ BIN \ mvn.bat干净的安装-V -b -DBuildProfile =单元测试-f 单元测试/ pom.xml的

[1.7.0_25] $ C:\用户。 .. \ bin \ mvn.bat clean install -V -B -DBuildProfile = integrationTests -f integrationTests/pom.xml