如何将版本修改后的pom.xml提交至Azure Repos(CI/CD场景)
实现Azure DevOps中pom.xml版本递增并提交推送的方案
一、需要执行Git命令,以下是PowerShell脚本示例
在你的Azure DevOps流水线PowerShell任务中,添加以下完整脚本即可完成修改后的提交与推送:
# 配置Git用户信息(流水线运行环境默认无此配置,必须设置) git config --global user.email "devops@yourdomain.com" git config --global user.name "Azure DevOps Pipeline" # 将修改后的pom.xml加入暂存区 git add pom.xml # 提交修改,版本号可结合流水线内置变量动态生成 git commit -m "chore: update pom.xml version to $(Build.BuildNumber)" # 推送到目标分支(这里以main分支为例,可根据实际修改) git push origin HEAD:refs/heads/main
关键配置注意事项
- 启用OAuth token访问:在流水线的「Agent job」设置中,勾选Allow scripts to access the OAuth token,确保Git命令能通过流水线的服务账号完成认证。
- 配置仓库权限:在Azure Repos仓库的「Settings」→「Permissions」中,给
Project Collection Build Service账号分配Contribute权限,允许其推送代码。
二、其他可行实现方案
1. 结合Maven插件自动版本递增
使用versions-maven-plugin直接完成版本号修改,再配合Git命令提交:
# 自动递增补丁版本(如从1.0.0→1.0.1),或直接指定目标版本 mvn versions:set -DnewVersion=$(Build.BuildNumber) -DgenerateBackupPoms=false # 后续Git提交推送步骤同上述脚本
2. 用Azure DevOps变量组统一管理版本
- 创建变量组存储当前版本号(如
APP_VERSION),流水线中先读取该变量完成递增; - 更新变量组中的版本值,再用Maven命令替换pom.xml版本,最后执行Git提交推送。这种方式适合多模块项目的版本统一管控。
3. 使用流水线官方任务替代脚本
直接在流水线中添加「Git Commit」和「Git Push」官方任务,无需手动编写脚本:
- 「Git Commit」任务:配置提交信息、需提交的文件路径;
- 「Git Push」任务:配置目标分支、认证方式,即可完成推送。
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

