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/rootroot。所以我们在每个项目中添加以下代码行来给出相对路径。

<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 推送操作时失败?的主要内容,如果未能解决你的问题,请参考以下文章

解决Git推送时密码认证失败

Git 强制推送后 Xcode 持续集成机器人失败

npm 错误!尝试安装 package.json 时 git dep 准备失败

Git子树推送总是失败

当标签已经存在于远程时​​,Git 强制推送标签

由于 ssh 密钥,Git 推送失败:主机密钥验证失败。从码头工人内部