在詹金斯中使用versionNumber插件

时间:2019-07-02 04:35:39

标签: maven jenkins jenkins-plugins version-numbering

上下文:

我们构建了一个Maven应用,其中版本号由build.properties文件注入。这种方法的问题在于,对于每个发行版,都需要手动修改版本号。


在线浏览以解决此问题,我碰到了version number plugin,它提供了一些解决该问题的好方法。 例如-Dproject.version=${BUILD_YEAR}.${BUILDS_THIS_YEAR}会为我解决问题

问题

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

从文档中引用:

  

初始化值
  在开始构建之前,   可以在命令中指定今年/月/周/日的版本   行或通过作业的插件配置网络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_YEARBUILDS_THIS_YEAR的jar,按预期方式工作(詹金说Building my_app_2019.1-SNAPSHOT)。在那之后,我删除了假定会被选中的变量,但不幸的是詹金说Building my_app_${BUILD_YEAR}.${BUILDS_THIS_YEAR}-SNAPSHOT

没有与此相关的文档,或者我错过了一些显而易见的东西

问题

如何确保将这些var正确注入到我的Maven版本中?还是我该如何使用插件填充值?

这不是jenkins管道,而是一个简单的jar。

1 个答案:

答案 0 :(得分:1)

缺少如下设置Create a formatted version number的信息:

enter image description here

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