如何使用maven获取Jenkins内部版本号

时间:2014-09-03 17:45:11

标签: maven jenkins

我正在尝试使用maven pom.xml使用以下代码阅读Jenkins号码。问题是,构建失败并出现错误,如下所述。我提到了詹金斯Building a software project给出的官方文件。如果我尝试使用任何文本而不是${BUILD_NUMBER},它将在控制台中打印而不是变量。

POM简介参考:

<profiles>
    <profile>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <build.number>${BUILD_NUMBER}</build.number>
        </properties>
    </profile>
</profiles>

POM系统属性:

<systemPropertyVariables>
    <buildnumber>${build.number}</buildnumber>
</systemPropertyVariables>

如果我做错了,请告诉我。

1 个答案:

答案 0 :(得分:5)

我对自己做的一件事就是之前调用一些maven命令,比如mvn versions:setmvn -N versions:update-child-modules。我的pom文件版本为x.y.z,所以我让它们看起来像x.y.z. $ buildnumber。如果你愿意的话,你可以用$ buildnumber来替换它,但是不要忘记maven会更新并将它提交回SCM,将次要版本递增1.你必须在下一次构建时处理它。

请注意${BUILD_NUMBER}是bash上可用的envvar(我可以在我的bash脚本上获取它),而不是maven变量。

正如此处所述:How to refer environment variable in POM.xml?,您可以${env.variable_name}