47

我需要为一些内部公司库设置一个 Maven 存储库,这些库只需要我们的开发人员访问(即安全),但应该可以通过 Internet 安全访问。

我熟悉设置公共 Maven 存储库,但不确定设置私有远程访问存储库的最佳方式。

我怎样才能做到这一点?

4

4 回答 4

20

解决方案是使用 Maven 存储库管理器,例如 Nexus、Artifactory 或 Archivia。

您将 MRM 安装在服务器上,并使用您希望访问它的用户的身份验证详细信息对其进行配置。

您可以在https://oss.sonatype.orghttps://repository.apache.org上看到一个可公开访问的 Nexus 实例。因此,在此基础上,假设 Nexus 中的身份验证是可靠且安全的是相当安全的。

Artifactory 可作为在线托管服务使用,我们将它(在线托管服务)用于我们的内部工件托管。

Archivia 由一些非常好的人维护,我怀疑他们也有很好的锁定。

如果您想快速启动并运行并且不想管理服务器,我建议您使用 Artifactory 等托管服务。我不知道是否有在线 Nexus 或 Archivia 托管服务。

现在进行披露:

  1. JFrog(Artifactory 的创建者)是我雇主的合作伙伴,我们使用 Artifactory 托管服务
  2. Sonatype(Nexus 的创建者)是我雇主的合作伙伴
  3. 我是 Apache 软件基金会的成员(Archivia 的创建者)

我不推荐您使用哪种MRM。但作为 Maven 提交者和 PMC 成员,我强烈建议使用 MRM。

于 2012-09-14T07:22:54.643 回答
16

Amazon S3是最好的解决方案:http: //www.stackoverflow.com/questions/850570/maven-s3-wagon-provider,因为:

  1. 无需安装程序
  2. 由亚马逊托管,高度可用
  3. Maven 通过一些货车完全支持(见上面的链接)

您可能还会发现这篇文章很有帮助:http ://www.yegor256.com/2015/09/07/maven-repository-amazon-s3.html

于 2012-09-16T18:40:49.357 回答
10

自从发布这个问题后,我发现了JitPack,这使得直接从 Github 创建公共(免费)和私有(廉价)存储库变得非常容易。

于 2016-03-10T16:01:27.350 回答
2

您可以使用archiva 或nexus 将用户名/密码放在服务器上的不同存储库中。您还可以管理谁可以部署到这些存储库。

这些可以添加到您的 settings.xml 文件中,这样您就不必每次都登录。

于 2012-09-13T16:08:05.420 回答