在Jenkins build中传递动态参数

在Jenkins build中传递动态参数,jenkins,Jenkins,我想在计划作业中在Jenkins中传递一个动态参数(此构建每天凌晨3:00运行) 如果我在linux命令行中执行该命令,则此操作有效: mvn package -DintegrationTag=$(date +%d-%m-%y) 或 或 这3个选项就是执行的,例如(这是我想在Jenkins中执行的): 但是这些句子中的任何一句都不适用于我的Jenkins目标和选项(因为动态参数) 有什么方法可以做到这一点吗?在构建“执行shell”部分添加以下内容 NOW=`date +%d-%m-%y` m

我想在计划作业中在Jenkins中传递一个动态参数(此构建每天凌晨3:00运行)

如果我在linux命令行中执行该命令,则此操作有效:

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

这3个选项就是执行的,例如(这是我想在Jenkins中执行的):

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

有什么方法可以做到这一点吗?

在构建“执行shell”部分添加以下内容

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

解决方案

包含脚本的文件的内容:

echo "NOW=`date +%d-%m-%y`"> env.properties
属性文件的路径:

env.properties
在项目中,目标和选项:

clean test package -DintegrationTag=$NOW

将环境变量注入buildprocess=true

另一个选项是在jenkins中执行顶级maven目标。 将所需变量值注入构建环境的前两个步骤与下面@Iker给出的答案相同。
在第三步中,将目标设为
清理测试包


,然后在“高级”选项卡的属性部分,给出
integrationTag=$



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

执行此操作后,生成的jar中的integrationTag参数在app.properties中没有值。查看控制台输出,您应该会看到正在执行的命令是
mvn package-dinegrationtag=16-09-2013
您是对的,但是如果参数(integrationTag)正确在app.properties中没有设置。我有相同的问题。问题不在jenkins身上,可能在mvn作业的其他地方,但它不起作用。下面的答案是肯定的。非常感谢您的帮助。您需要为此安装。
echo "NOW=`date +%d-%m-%y`"> env.properties
env.properties
clean test package -DintegrationTag=$NOW