【问题标题】:Set pom version output into a variable and increment the value将 pom 版本输出设置为变量并增加值
【发布时间】:2018-11-01 04:58:16
【问题描述】:

我正在从事 jenkins、maven、git 项目。我想将 pom 文件中的版本设置为在每个新版本中自动递增。我使用以下命令获得了版本。版本号是 0.0.1。

grep -ri "<version>" pom.xml |head -n 1 | sed -e 's/^[ \t]*<version>\([^<]*\) 
<.*$/\1/' | sed 's/[-SNAPSHOT]//g'

现在我想将这些值设置为变量并在每个新版本中增加版本。我该怎么做?有可能吗?下一个构建输出应该是 0.0.2。

我不能将0.0.1 输出设置为majorminorbug 等变量并设置$bug+1

【问题讨论】:

标签: linux bash maven jenkins


【解决方案1】:

为你的 pom 配置一个新的属性。 revision如下图

<version>${revision}</version>  
<properties>
    <revision>0.0.1</revision>

如下所示,在 maven 命令中将新版本值作为参数传递给版本,或者您甚至可以为 ex 使用变量。 new_version.

maven clean install -D revision=0.0.2

maven clean install -D revision="${new_version}"

https://maven.apache.org/maven-ci-friendly.html#Multi_Module_Setup

【讨论】:

  • 这将在 Maven 中产生警告,因为不支持此属性。看我的回答:stackoverflow.com/a/53099850/296328
  • 从 Macen 3.5.0-beta-1 我们可以定义和使用修订属性,如下所述maven.apache.org/maven-ci-friendly.html#Multi_Module_Setup
  • 在原始帖子中,您使用了属性releaseVersion,这将产生警告,因为只有revisionchangelistsha1 是允许的属性。我知道您可以使用它,因为我已经实现并编写了该页面。
猜你喜欢
  • 1970-01-01
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
  • 2014-05-26
  • 2015-03-15
  • 2023-03-16
  • 1970-01-01
  • 2018-01-18
相关资源
最近更新 更多