在Jenkins构建中传递动态参数

时间:2013-09-16 14:40:00

标签: jenkins

我想在计划作业中传递Jenkins中的动态参数(此版本每天凌晨3:00运行)

如果我在linux命令行中执行它,这是有效的:

mvn package -DintegrationTag=$(date +%d-%m-%y)

mvn package -DintegrationTag="$(date +%d-%m-%y)"

mvn package -DintegrationTag="$(date +"%d-%m-%y")"

使用这3个选项,这就是执行的内容,例如(这是我想在Jenkins中执行的操作):

mvn package -DintegrationTag=16-09-2013

但是这些句子中的任何一个都不适用于我的Jenkins目标和选项(因为动态参数)。

有什么办法吗?

3 个答案:

答案 0 :(得分:5)

解决方案

构成脚本的文件内容:

echo "NOW=`date +%d-%m-%y`"> env.properties

属性文件的路径:

env.properties

在项目,目标和选项中:

clean test package -DintegrationTag=$NOW

将环境变量注入构建过程= true

答案 1 :(得分:2)

在构建“执行shell”部分中添加此

NOW=`date +%d-%m-%y`
mvn package -DintegrationTag=$NOW

答案 2 :(得分:0)

另一种选择可以是在jenkins中执行顶级maven目标。 将所需变量值注入构建环境的前两个步骤与下面@Iker给出的答案保持一致。
在第三步,给出目标为
    clean test package

然后在“高级”标签的“属性”部分中,提供integrationTag=$<your variable name>

请注意,当在jenkins中创建自由样式项目时,此解决方案很有用。对于maven 2/3项目,@ Iker的解决方案很好:)