【问题标题】:How to update version automatically in pom.xml如何在 pom.xml 中自动更新版本
【发布时间】:2021-07-01 21:05:30
【问题描述】:

我有 pom.xml,它由 docker 映像版本组成,我正在从 pom.xml 构建我的 dockerfile,它由版本组成,并且 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>

这里的版本是3.7.9-app,应该会自动更新,这样每次都取最新版本。

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

【问题讨论】:

  • 我正在触发 jenkins 管道,并且 pom.xml 文件存在于 gitlab 上,所以需要知道如何自动更新那里
  • 完全一样。除此之外,我建议使用像3.7.9 这样的常用版本,而不是3.7.9-app?..
  • 抱歉,没听懂,如何运行这个 mvn --batch-mode release:update-versions -DdevelopmentVersion=1.2.0-SNAPSHOT 命令,以便更新 pom.xml 中的版本。 gitlab 中存在的 xml,不想像做 git push 和 git commit 那样手动做所有这些事情
  • 首先,如果你有一个多模块构建,你必须在命令行调用时添加-DautoVersionSubmodules=true,或者你应该在你的pom文件中相应地配置它。此外,如果您单独使用 update-versions 目标,则必须进行提交。

标签: java docker maven automation pom.xml


【解决方案1】:

如果你想更新你的 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 tag 版本(例如:https://maven.apache.org/maven-release/maven-release-plugin/https://maven.fabric8.io

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

【讨论】:

    猜你喜欢
    • 2018-10-16
    • 1970-01-01
    • 2018-04-28
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 2021-07-26
    • 2022-01-22
    相关资源
    最近更新 更多