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

Yel*_*thi 4 maven jenkins

我正在尝试使用Maven pom.xml使用以下代码读取Jenkins编号。问题是,生成失败并显示以下错误。我参考了詹金斯(Jenkins)建立一个软件项目给出的正式文件。如果我尝试使用任何文本代替${BUILD_NUMBER}它,它将在控制台中打印,而不是变量。

POM配置文件参考:

<profiles>
    <profile>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <build.number>${BUILD_NUMBER}</build.number>
        </properties>
    </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

POM系统属性:

<systemPropertyVariables>
    <buildnumber>${build.number}</buildnumber>
</systemPropertyVariables>
Run Code Online (Sandbox Code Playgroud)

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

小智 5

我对自己所做的一件事是在之前调用了一些maven命令,例如mvn versions:setmvn -N versions:update-child-modules。我的pom文件的版本为xyz,因此我使它们看起来像xyz $ buildnumber。您可以根据需要用$ buildnumber替换它,但不要忘记maven会更新并将其提交回SCM,将次要版本增加1。您必须在下一个版本中进行处理。

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

并如此处所述:如何在POM.xml中引用环境变量?,你可以做${env.variable_name}