Jenkins“POM_VERSION”变量不会从构建重置为构建

时间:2014-08-27 16:35:46

标签: maven jenkins

关注Jenkins文档jenkins docs 我可以使用POM_VERSION环境变量从pom文件中获取当前版本。

但由于某种原因,POM_VERSION环境变量没有从构建到构建刷新。例如: 我手动更改了版本号,但导出的内部版本号是上一版本中的最后一个。

从我的python脚本:

print 'Current version is ' + os.environ['POM_VERSION']

,它给出了以下日志Current version is 0.1.5,这显然是错误的,因为我改变了它。你可以在我的maven版本目标输出中进一步看到它:

[INFO] 
[INFO] --- versions-maven-plugin:2.1:set (default-cli) @ ep-reporter ---
[INFO] Searching for local aggregator root...
[INFO] Local aggregation root: /var/lib/jenkins/jobs/exchange-planner-  reporter/workspace
[INFO] Processing com.exelate:ep-reporter
[INFO]     Updating project com.company:ep-reporter
[INFO]         from version 0.1.8 to 0.1.6
Props: {project.version=0.1.6, project.artifactId=ep-reporter, project.groupId=com.company}

请注意,它从0.1.5开始,因为我有一个脚本可以推进它。但maven明确表示将其从0.1.8改为0.1.6,这不是POM_VERSION所说的

感谢。

2 个答案:

答案 0 :(得分:1)

在Jenkins 首次读取您的POM文件时,该环境变量设置为。你在构建过程中正在明确地改变它。

如果您在构建期间更改它,则知道您要更改的内容,并且您应该使用相同的机制在以后显示它。

答案 1 :(得分:0)

我遇到了同样的问题,我通过在“源代码管理”部分中将“签出策略”选项设置为“始终签出新副本”来解决了该问题。