我想在计划作业中传递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目标和选项(因为动态参数)。
有什么办法吗?
答案 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的解决方案很好:)