0

语境:

我们构建我们的 Maven 应用程序,其中版本号由build.properties文件注入。这种方法的问题在于,对于每个版本,都需要手动调整版本


在线浏览以解决这个问题,我碰到了版本号插件,它提供了一些很酷的方法来解决这个问题。例如-Dproject.version=${BUILD_YEAR}.${BUILDS_THIS_YEAR}将为我解决问题

问题

我在设置已定义变量的值时遇到问题

引用文档:

初始化值
在开始构建之前,可以在命令行或通过作业的插件配置 web-GUI 指定今年/月/周/日的构建次数。如果指定了它们,那么它们将覆盖当前生产中的任何值。如果您选择这样做,这允许您将您的版本号从另一个系统迁移到 Jenkins。

此外,可以使用从环境变量中获取的值自动覆盖今年/月/周/日的构建数量。除了在作业的插件配置的表单字段中提供一个简单的数字来覆盖下一次构建的值(如上所述)之外,您还可以提供一个环境变量,其值将在下一次提取和使用构建。如果未设置或它的值不能转换为正整数(不丢失精度),则将取而代之的是先前构建的值并增加一(这是标准行为)。

在最后一句话中,它说

If it is not set or its value is not convertible to a positive integer (without 
loosing precision), the value of the previous build will be taken instead 
and increased by one (as is the standard behavior)

因此,通过这个,我构建了一个注入值BUILD_YEARand的 jar BUILDS_THIS_YEAR,按预期工作(詹金说Building my_app_2019.1-SNAPSHOT)。在那之后,我删除了假设它们会被选中的变量,但不幸的是詹金说Building my_app_${BUILD_YEAR}.${BUILDS_THIS_YEAR}-SNAPSHOT

没有相关的文档,或者我可能错过了一些非常明显的东西

问题

我如何确保这些var在我的 Maven 版本中正确注入?或者更确切地说,我如何使用插件填充值?

这不是詹金斯管道,它是一个简单的 jar 构建。

4

1 回答 1

2

错过了Create a formatted version number如下设置:

在此处输入图像描述

根据上图更新并将命令更改为-Dproject.version=${VERSION_NUMBER}-SNAPSHOT....瞧!!!!

于 2019-07-02T06:45:30.090 回答