我正在尝试使用单个用户定义的轴(称为“轴”)在Jenkins中设置多配置项目。然后,将使用与每个配置关联的值来调用${axis}/pom.xml
中的顶级maven目标。麻烦的是,我找不到合适的语法,如果确实存在(${axis}
,$axis
,$AXIS
和${env.axis}
都失败了)。我认为这将是shell语法,它似乎不是,但无论它应该是简单还是不可能。有可能吗?
答案 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
生成的构建在控制台中提供了以下输出(为简洁起见而编辑):
[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