mvn 发布:准备在 git 推送操作时失败?
Posted
技术标签:
【中文标题】mvn 发布:准备在 git 推送操作时失败?【英文标题】:mvn release:prepare failing while git push operation? 【发布时间】:2013-07-04 11:22:10 【问题描述】:我正在尝试使用 maven 发布一个组件。这是项目结构:
root-
A-project/pom.xml
B-project/pom.xml
C-project/pom.xml
D-project/pom.xml
这里我们只有 ssh URL ssh://userID@gerritforge.lmera.companyName.se:29418/root
到 root
。所以我们在每个项目中添加以下代码行来给出相对路径。
<pomFileName>A-project/pom.xml</pomFileName>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<executions>
<execution>
<id>default</id>
<goals>
<goal>perform</goal>
</goals>
<configuration>
<pomFileName>A-project/pom.xml</pomFileName>
<!--
<pushChanges>false</pushChanges>
-->
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</execution>
</executions>
<!--
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
-->
</plugin>
在运行mvn release:prepare
时,项目正在成功构建,但在此之后我收到以下错误:
[ERROR] BUILD FAILURE
[INFO] Unable to tag SCM
Provider message:
The git-push command failed.
Command output:
To ssh://userID@gerritforge.lmera.companyName.se:29418/root
! [remote rejected] A-prject-template-1.1.12 -> A-prject-template-1.1.12 \
(prohibited by Gerrit) error: failed to push some refs to \
'ssh://userID@gerritforge.lmera.companyName.se:29418/root'
在执行mvn release:prepare
之前,本地和远程都没有标签。
【问题讨论】:
这条消息:(prohibited by Gerrit)
说什么?
您确定您的本地存储库是最新的吗?在我看来,您在本地还没有远程提交。变基/拉动修复。
【参考方案1】:
我在 Jenkins 上使用 Git 的 maven-release-plugin 遇到了同样的 Gerrit 故障。
推送 pom.xml -> Gerrit 成功 本地标签成功 推送标签 -> Gerrit FAIL “...(Gerrit 禁止)”解决方案:Gerrit 权限“Forge Committer”, 见https://gerrit-review.googlesource.com/Documentation/error-prohibited-by-gerrit.html
原因:创建标签的 Jenkins 用户 ID 与推送到 Gerrit 的用户 ID 不同。
【讨论】:
以上是关于mvn 发布:准备在 git 推送操作时失败?的主要内容,如果未能解决你的问题,请参考以下文章