我正在尝试使用maven发布一个组件。这是项目结构:
root-
A-project/pom.xml
B-project/pom.xml
C-project/pom.xml
D-project/pom.xml
此处我们只有ssh://userID@gerritforge.lmera.companyName.se:29418/root
的ssh网址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
之前,本地和远程都没有标记。
答案 0 :(得分:0)
我使用Git on Jenkins在maven-release-plugin中遇到了同样的Gerrit故障。
解决方案:Gerrit权限&#34; Forge Committer&#34;, 见https://gerrit-review.googlesource.com/Documentation/error-prohibited-by-gerrit.html
原因:创建标记的Jenkins用户标识与推送到Gerrit的用户标识不同。