【问题标题】:How do I setup a private, remotely accessible Maven repository?如何设置私有的、可远程访问的 Maven 存储库?
【发布时间】:2012-09-13 16:04:53
【问题描述】:

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

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

我该怎么做?

【问题讨论】:

  • 别想了,把它放在只有你的开发人员可以访问的 VPN 后面。
  • 本地网络无法设置仓库?
  • 我们的许多开发人员都在远程工作,因此我们没有真正的本地网络。我不想仅仅为了这个目的而设置 VPN。
  • 在这种情况下,最明智的做法是将存储库放在防火墙后面,并允许外部人员通过您的 VPN 访问它。您可以设置一个可公开访问的服务,要求所有用户提供某种凭据,但是当您真的不需要组织外部的任何人使用时,为什么要向外界开放您的存储库(以及由此带来的所有风险)它?当然,假设您有一个 VPN - 但如果您有远程员工,您可能应该有一个 VPN,以便他们可以安全地访问您的内部服务。
  • 此链接在这种情况下可能会有所帮助 - Maven private remote repository setup

标签: java maven


【解决方案1】:

解决方案是使用 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。

【讨论】:

    【解决方案2】:

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

    1. 无安装过程
    2. 由 Amazon 托管,高度可用
    3. Maven 通过几辆货车完全支持(见上面的链接)

    这篇文章可能对您也有帮助:http://www.yegor256.com/2015/09/07/maven-repository-amazon-s3.html

    【讨论】:

    • 我很想使用 S3,但我放弃了。有一些 maven s3 wagons,但是当事情发生变化时,它们看起来都非常脆弱并且以奇怪的方式失败。例如,我找不到任何适用于 Java >= 9 的工具。
    【解决方案3】:

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

    【讨论】:

    • 我使用repsy.io。它提供 1 GB 的免费私有 maven 存储库。
    • 尝试从本地 linux 部署到 repsy。根据 repsy 的 Web UI 中的“设置文档”功能完成设置。通过终端和 IntelliJ 部署时获得 403 Forbidden。似乎没有读取 ~/.m2/settings.xml 中的凭据。
    • 我现在可以确认我的 ~/.m2/settings.xml 已被 maven 使用,因为我已经设置了一个自托管的档案 maven 存储库并在 settings.xml 中输入了凭据。跨度>
    【解决方案4】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-03-11
      • 1970-01-01
      • 2017-04-17
      • 2022-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      相关资源
      最近更新 更多