【问题标题】:How to update version in POM file on branch after build number is incremented in Azure Pipeline在 Azure Pipeline 中增加内部版本号后如何更新分支上的 POM 文件中的版本
【发布时间】:2021-03-09 17:45:46
【问题描述】:

我是 Azure Pipelines 和 Maven 的新手。我有这个管道设置,可以更改 POM 文件中的版本号,然后执行 Maven 全新安装:

Trigger:
- none

pool:
   name: Azure Build VM
   demands:
   - Cmd

name: $(BuildVersion)$(Rev:.r)

steps:
- task: MavenAuthenticate@0
  inputs:
    artifactsFeeds: 'InternalRepo'

- script: |
    cd JavaRESTfulEngine
    mvn versions:set -DnewVersion=$(Build.BuildNumber)
  displayName: 'Change POM Version'

- script: |
    cd JavaRESTfulEngine
    mvn clean install
    rename C:\Users\Build\.m2\repository\net\windward\JavaRESTfulEngine\$(Build.BuildNumber)\JavaRESTfulEngine-$(Build.BuildNumber).war ROOT.war
    mkdir C:\Users\Build\.m2\repository\net\windward\JavaRESTfulEngine\$(Build.BuildNumber)\App_Data
    mkdir C:\Users\Build\.m2\repository\net\windward\JavaRESTfulEngine\$(Build.BuildNumber)\App_Data\requests
    rename C:\Users\Build\.m2\repository\net\windward\JavaRESTfulEngine\$(Build.BuildNumber)\JavaRESTfulEngine-$(Build.BuildNumber).war ROOT.war
    del C:\Users\Build\.m2\repository\net\windward\JavaRESTfulEngine\$(Build.BuildNumber)\_remote.repositories 
  displayName: 'Build with Maven'

这可行,并且工件具有正确的版本号。我的问题是我是否可以继续更新主分支上 POM 中的版本以匹配 $(Build.BuildNumber) 以便下次我从主分支中提取与最新版本相同的版本?最好的方法是什么?

【问题讨论】:

    标签: maven azure-pipelines pom.xml


    【解决方案1】:

    如果您想更新 POM 中的版本以匹配 $(Build.BuildNumber),您可以尝试以下步骤。

    我的 pom.xml 在根目录下,我想更新modelVersion

    # Specify the file path
    $xmlFileName= "pom.xml"
    # Read the existing file
    [xml]$xmlDoc = Get-Content $xmlFileName
    # If it was one specific element you can just do like so:
    $xmlDoc.project.modelVersion = "$(Build.BuildNumber)"
    #Remove the old pom.xml
    Remove-Item $xmlFileName
    # Then you can save that back to the xml file
    $xmlDoc.Save("$(System.DefaultWorkingDirectory)\pom.xml")
    # Print new file content
    gc $(System.DefaultWorkingDirectory)\pom.xml
    

    更多详情,请参阅此主题:Powershell script to update XML file content

    【讨论】:

    • 谢谢!我能够将其用作 powershell 脚本的模板。最后,我还必须将更改的文件提交/推送到 master,但它可以工作!
    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 2020-05-13
    • 2017-09-13
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多