首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Azure管道增加构建号后更新分支POM文件中的版本

如何在Azure管道增加构建号后更新分支POM文件中的版本
EN

Stack Overflow用户
提问于 2021-03-08 22:48:46
回答 1查看 766关注 0票数 0

我对Azure管道和Maven都是新手。我有一个管道安装程序,它可以更改POM文件中的版本号,然后执行一个maven干净安装:

代码语言:javascript
复制
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)匹配,以便下次从主服务器提取时,我的版本与最新版本的版本相同?做这件事最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-09 09:45:46

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

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

代码语言:javascript
复制
# 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66538356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档