Java 如何在pom.xml中自动更新版本

Java 如何在pom.xml中自动更新版本,java,docker,maven,automation,pom.xml,Java,Docker,Maven,Automation,Pom.xml,我有pom.xml,它包含docker图像版本,我正在从pom.xml构建docker文件,它包含版本,docker图像的版本不断变化,是否有任何自动方式可以更新版本,以便每次文件都采用最新版本,而无需手动编辑pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi

我有pom.xml,它包含docker图像版本,我正在从pom.xml构建docker文件,它包含版本,docker图像的版本不断变化,是否有任何自动方式可以更新版本,以便每次文件都采用最新版本,而无需手动编辑pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.onboarding</groupId>
    <artifactId>onboarding-app</artifactId>
    <version>3.7.9-app</version>
    <name>Onboarding app for public use</name>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
        <relativePath />
    </parent>

4.0.0
组织上线
入职应用程序
3.7.9-app
供公众使用的车载应用程序
org.springframework.boot
spring启动程序父级
2.1.2.1发布
这里的3.7.9-app版本应该会自动更新,以便每次更新都采用最新版本


我的pom.xml文件放在gitlab上,我想自动更新它的版本3.7.9-app(在我的例子中)

如果你想更新你的pom.xml版本,你可以运行:

mvn versions:set -DnewVersion=$(version you need)
例如,要获取当前git版本并将其应用于pom.mxl,请执行以下操作:

 mvn versions:set -DnewVersion=$(git describe --tags --abbrev=0)
要获得docker映像版本,这取决于您如何构建它。是和maven在一起吗

大多数时候,maven负责这个版本,它将在maven插件的帮助下更新git或docker标签版本(对于Instance:,)

否则,您可能会尝试从docker容器本地环境中找到一个docker命令,该命令为您提供版本。
例如,如果版本在容器环境变量中,并且您知道容器名称,您可以尝试使用
docker inspect--format=“{{.Config.Env}}”
提取它,并使用前面的命令应用该版本。

您是否检查了我正在触发jenkins管道,并且gitlab上存在pom.xml文件,因此,我需要知道如何以完全相同的方式自动更新。除此之外,我建议使用一个普通版本,如
3.7.9
,而不是
3.7.9-app
?…对不起,我不明白,如何运行这个mvn——批处理模式发布:updateversions-DdevelopmentVersion=1.2.0-SNAPSHOT命令,以便它将更新gitlab中pom.xml中的版本,不要像git push和git commit这样手动操作。首先,如果您有一个多模块构建,您必须在命令行调用中添加
-DautoVersionSubmodules=true
,或者您应该在pom文件中相应地配置它。此外,如果单独使用
更新版本
目标,则必须进行提交。