Jenkins多配置项目用户定义的轴环境变量

时间:2011-11-29 13:36:02

标签: maven continuous-integration hudson environment-variables jenkins

我正在尝试使用单个用户定义的轴(称为“轴”)在Jenkins中设置多配置项目。然后,将使用与每个配置关联的值来调用${axis}/pom.xml中的顶级maven目标。麻烦的是,我找不到合适的语法,如果确实存在(${axis}$axis$AXIS${env.axis}都失败了)。我认为这将是shell语法,它似乎不是,但无论它应该是简单还是不可能。有可能吗?

4 个答案:

答案 0 :(得分:1)

${axis}/pom.xml应该符合我的经验。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

我很欣赏OP已经以不同的方式解决了这个问题,但是对于记录,以下内容适用于Windows和Linux中的 Hudson 。我没有在 Jenkins 中尝试过它:

您需要的语法只是$axis/pom.xml

我定义了一个BuildProfile=compile unitTest integrationTest

的轴

在Maven 3配置中(在高级属性下),$BuildProfile/pom.xml

的POM文件

生成的构建在控制台中提供了以下输出(为简洁起见而编辑):

  

[1.7.0_25] $ C:\ Users ... \ bin \ mvn.bat clean install -V -B   -DBuildProfile = compile -f compile / pom.xml

     

[1.7.0_25] $ C:\ Users ... \ bin \ mvn.bat clean install -V -B   -DBuildProfile = unitTest -f unitTest / pom.xml

     

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

答案 3 :(得分:0)

我们使用jdk轴并只使用jdk的名称,所以我认为你可以使用axis/pom.xml

相关问题