【问题标题】:How to get Jenkins build number using maven如何使用 Maven 获取 Jenkins 内部版本号
【发布时间】:2014-10-28 07:45:40
【问题描述】:

我正在尝试使用 maven pom.xml 使用以下代码读取 Jenkins 编号。问题是,构建失败并出现我在下面指定的错误。我参考了JenkinsBuilding 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>

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

【问题讨论】:

  • 试试${env.BUILD_NUMBER}

标签: maven jenkins


【解决方案1】:

我对自己做的一件事是之前调用了一些 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}

【讨论】:

  • 谢谢大家,我现在可以使用 Maven 获取 Jenkins 内部版本号。我在 maven 中使用它作为系统参数,它正在获取内部版本号。
  • 如果这个答案解决了问题,请接受这个正确的答案,这样其他有类似问题的人也可以找到解决方案。最好的。
猜你喜欢
  • 1970-01-01
  • 2014-05-06
  • 2023-03-11
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 2017-05-05
  • 2020-12-12
相关资源
最近更新 更多