Github身份验证:当repo是私有时,如何使用Github作为Maven repo

时间:2012-07-06 22:03:07

标签: maven github

我正在尝试将一些私有工件存储在Github上,并希望将它们作为Maven仓库的一部分进行访问。有很多页面可以解释如何在Github上创建公共Maven仓库:您只需将工件放在项目中的正确目录结构中,然后使用“原始”URL访问它们:

<repositories>
  <repository>
    <id>myrepo.myname.github.com</id>
    <url>https://github.com/myname/myproject/raw/master/repositories/releases/</url>
  </repository>
</repositories>   

到目前为止,这么好。现在麻烦的是,如果它是私有的,我无法弄清楚如何访问回购。我已经在settings.xml中添加了用户名和密码,但它不起作用:

<servers>
    <server>
      <id>myrepo.myname.github.com</id>
      <username>myusername</username>
      <password>mypassword</password>
    </server>
 </servers>

诀窍是什么?

3 个答案:

答案 0 :(得分:1)

这个问题现在没有实际意义。 Github已经取消了下载量。他们不再托管二进制文件了。可能是因为我提出的那种虐待......

答案 1 :(得分:0)

我也从未这样做过。但github允许ssh / key身份验证,这可能有用吗?

<servers>
    <server>
        <username/>
        <password/>
        <privateKey/>
        <passphrase/>
        <filePermissions/>
        <directoryPermissions/>
        <configuration/>
        <id/>
    </server>
</servers>

在GitHub上,您可以将密钥(至少看起来像是可能的话)添加到该存储库(存储库 - &gt; Admin - &gt;部署密钥):https://help.github.com/articles/managing-deploy-keys

几年前我在安装存储库代理之前使用ssh在linux服务器上部署工件。在客户端设置(可信密钥等)有点棘手,但它工作得很好。我记得你需要首次手动执行mvn deploy以在本地添加服务器密钥/指纹,然后才能由脚本或CI服务器自动完成。

答案 2 :(得分:0)

您可以使用以下URL从Maven pom.xml访问私有存储库: https://api.github.com/users/username/repos?login=username&token=oauthtoken&repositoryname=reponame