linux - 将 pom 版本输出设置为变量并递增该值

标签 linux bash maven jenkins

我正在从事 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 吗?

最佳答案

使用新属性配置您的 pom。 修订如下所示

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

增加版本,将新版本值作为参数传递到您的 Maven 命令中,如下所示,或者您甚至可以使用变量作为 ex。 新版本

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

关于linux - 将 pom 版本输出设置为变量并递增该值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53095413/

相关文章:

python - 检查可执行文件是否可以尝试连接到互联网

bash - grep 找到字符串后计算行数

java - 使用 Java Spring Boot,如何将依赖项、我的源代码和 Spring 合并到一个 Jar 文件中

bash - Mercurial:检查最后一次拉取/更新是否引入了更改

bash - 通过 Hue 从 oozie 运行 shell 脚本

maven - 如何在 Maven 程序集插件中停止 INFO 级别的登录

maven - 设置步骤和附件

linux - 如何在Linux中重命名所有包含破折号的子目录中的所有.jpg文件?

linux - 返回小于给定日期的月结束日期,并在 shell 中停止于 12 个日期

python - 当有 UTF-8 字符时,如何将输出定向到文件?