Jenkins发布流水线推送Azure仓库时Maven Release插件URL追加artifactId问题
解决Maven Release插件推送Git时URL追加artifactId的问题
问题原因
你遇到的是Maven Release插件错误地将子pom的artifactId(此处为example)追加到Git仓库URL末尾的问题,根源是旧SVN迁移遗留的配置问题,导致插件读取了错误的仓库路径模板。
解决方案
修正项目SCM配置
打开项目的父pom或出问题的子pom,找到<scm>节点(无则新增),确保配置的仓库地址是纯净的Git URL,不要包含${project.artifactId}这类变量:<scm> <connection>scm:git:https://visualstudio.com/myproject/_git/Test</connection> <developerConnection>scm:git:https://visualstudio.com/myproject/_git/Test</developerConnection> <url>https://visualstudio.com/myproject/_git/Test</url> </scm>多模块项目注意:父pom统一配置正确的SCM,子pom尽量不要重复配置,避免继承错误路径。
清理Jenkins工作区
构建前勾选Jenkins任务的「Delete workspace before build starts」选项,彻底清除旧的pom缓存或残留配置,避免旧数据干扰。构建时强制指定SCM参数
在Jenkins的Maven构建命令里,直接传入SCM相关参数,强制覆盖pom里的配置:mvn release:prepare release:perform -Dscm.url=https://visualstudio.com/myproject/_git/Test -Dscm.connection=scm:git:https://visualstudio.com/myproject/_git/Test -Dscm.developerConnection=scm:git:https://visualstudio.com/myproject/_git/Test检查并修正Git远程配置
进入Jenkins工作区的项目目录,执行以下命令查看远程仓库地址:git remote -v如果发现
origin的URL带有example后缀,手动修正:git remote set-url origin https://visualstudio.com/myproject/_git/Test
内容的提问来源于stack exchange,提问作者Bally2716
相关产品推荐
相关产品推荐

