如何使用maven获取Jenkins构建编号
我试图使用maven如何使用maven获取Jenkins构建编号,maven,jenkins,Maven,Jenkins,我试图使用mavenpom.xml读取Jenkins编号,使用以下代码。问题是,正如我在下面指定的那样,构建失败并出现错误。我提到了詹金斯提供的官方文件。如果我尝试使用任何文本而不是${BUILD\u NUMBER},那么它将在控制台中打印,而不是在变量中打印 POM配置文件参考: <profiles> <profile> <activation> <activeByDefault>true</
pom.xml
读取Jenkins编号,使用以下代码。问题是,正如我在下面指定的那样,构建失败并出现错误。我提到了詹金斯提供的官方文件。如果我尝试使用任何文本而不是${BUILD\u NUMBER}
,那么它将在控制台中打印,而不是在变量中打印
POM配置文件参考:
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.number>${BUILD_NUMBER}</build.number>
</properties>
</profile>
</profiles>
真的
${BUILD_NUMBER}
POM系统属性:
<systemPropertyVariables>
<buildnumber>${build.number}</buildnumber>
</systemPropertyVariables>
${build.number}
如果我做错了什么,请告诉我 我对自己做的一件事是调用一些maven命令,比如
mvn版本:set
和mvn-N版本:更新子模块
。我的pom文件的版本是x.y.z,所以我将它们设置为x.y.z.$buildnumber。如果需要,您可以将其替换为$buildnumber,但不要忘记maven将更新并将其提交回SCM,将次要版本增加1。你必须在下一次构建时处理这个问题
请注意,${BUILD\u NUMBER}
是bash上可用的一个envvar(我可以在bash脚本中获得它),而不是maven变量
正如这里所解释的:,你可以做
${env.variable\u name}
试试${env.BUILD\u NUMBER}
谢谢大家,我现在可以使用Maven获得Jenkins的版本号了。我在maven中使用它作为系统参数,它得到的是版本号。如果这个答案解决了问题,请接受它为正确答案,这样其他有类似问题的人也可以找到解决方案。最好的。