Maven Release插件:拒绝(Public Keyke)GitHub的权限



我正在尝试部署我在github上托管的Maven项目。我已经生成并将公共密钥添加到github,我也认为我已经用所有必需的属性填充了pom.xml

<licenses>
    <license>
        <name>MIT License</name>
        <url>http://www.opensource.org/licenses/mit-license.php</url>
    </license>
</licenses>
<developers>
    <developer>
        <name>Hristo Vrigazov</name>
        <email>hvrigazov@gmail.com</email>
        <organization>Hribol</organization>
        <organizationUrl>https://github.com/hristo-vrigazov</organizationUrl>
    </developer>
</developers>
<scm>
    <connection>scm:git:git://github.com/hristo-vrigazov/bromium.git</connection>
    <developerConnection>scm:git:git://github.com/hristo-vrigazov/bromium.git</developerConnection>
    <url>https://github.com/hristo-vrigazov/bromium</url>
    <tag>com.hribol.bromium.dsl.parent-1.0.0</tag>
</scm>

我试图按以下方式发布:

ssh-add ~/.ssh/github_rsa
ssh-add -l
mvn release:prepare release:perform -B -e | tee maven-central-deploy.log

但是,我一直从Maven收到此消息,表明我的SSH键有问题:

Provider message:
The git-push command failed.
Command output:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:299)
at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:247)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 20 more
Caused by: 
org.apache.maven.shared.release.scm.ReleaseScmCommandException: Unable to tag SCM
Provider message:
The git-push command failed.
Command output:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

原因是什么?我能够将快照部署到Nexus。

您在URL中使用了错误的协议(" git"一个):

<connection>scm:git:git://github.com/hristo-vrigazov/bromium.git</connection>

应该使用ssh:

<connection>scm:git:ssh://git@github.com/hristo-vrigazov/bromium.git</connection>

<connection>scm:git:git@github.com:hristo-vrigazov/bromium.git</connection>

developerConnection相同)
只有这样,您的SSH键才被使用。

确保如果您在使用配置文件,则在MVN版本的参数中指定-P:command

最新更新