非公共工件的 Maven 存储库托管? [关闭]

Posted

技术标签:

【中文标题】非公共工件的 Maven 存储库托管? [关闭]【英文标题】:Maven repository hosting for non-public artifacts? [closed] 【发布时间】:2012-09-13 14:30:46 【问题描述】:

是否有一些托管解决方案(无论是付费的还是免费的)为非公共工件提供明确的 Maven 存储库托管,最好有支持?

这些是我知道的替代方案:

使用凭据在您自己的公共服务器上托管 对于开源项目,有free sonatype hosting 托管在Amazon 可以托管 on github、google code 或其他一些 VCS 托管

但是,所有这些都需要一些维护开销,而不仅仅是使用存储库管理器(不仅仅是使用 nexus)和/或不是真正完全受支持的解决方案,或者不适用于闭源项目。

如果我需要一个在互联网上可用但它是“私人”的解决方案,因为它应该仅供公司人员使用,是否有其他替代方案?我在这里假设没有已经公开的服务器,因此拥有一个仅用于 maven 工件托管的新服务器似乎有点大。我有点惊讶我找不到商业替代品。

【问题讨论】:

Vcs 和 GitHub 托管是完全错误的。您需要存储库管理器 您在 Amazon S3 中看到了哪些“维护开销”? @yegor256 基本上,您不只是获得存储库管理器,而是需要考虑整个服务器。你负责更新、运行时健康检查和类似的东西。亚马逊可以为它提供工具,但它仍然是有人必须采取行动的。他们并不保证存储库管理器服务可以运行,他们只是试图确保他们的交易结束(服务器等)正常工作。 我认为您误解了 Amazon S3 的工作原理。没有服务器,是的,有服务可用性的保证。 @yegor256 可能是,因为我没有使用它。因此,他们将保证回购管理器能够正常工作,并随时更新可能有的任何更新?它会是一个带有 UI 的存储库管理器软件,还是只是一个文件存储,就像 VCS 解决方案那样? 【参考方案1】:

Jfrog 将其工件存储库管理器作为云服务提供。

就个人而言,一些默认配置选项(“修复”元数据等)完全是错误的,但您可以将其配置为做正确的事情。

(完全披露:jfrog 和 sonatype 都是 cloudbees(我的雇主)的合作伙伴)

编辑: 他们提供30-day trial,他们的定价可以在here看到。

【讨论】:

FWIW,Artifactory OSS 免费提供。 repsy.io 看起来也很有希望。 Jfrog 即将服务终止 - jfrog.com/blog/…【参考方案2】:

DropBox 是另一个可能的选项,请参阅https://code.google.com/p/peter-lavalle/wiki/MavenOnDropBox

【讨论】:

这些说明是指将 Dropbox 用作公共存储库,其中所有工件都对全世界可见。带着这个问题,我正在寻找非公共工件的托管服务,最好有支持。 这个问题确实特别提到了支持的“非公共工件”【参考方案3】:

我也一直在寻找这个,并且偶然发现了这个链接https://blog.openshift.com/nexus-repository-manager-in-the-cloud-for-free-with-openshift/,它解释了如何在 OpenShift 上设置 Nexus 应用程序。我按照此页面中列出的步骤进行了操作,并且很快就启动并运行了它。您可以禁用“匿名”用户以删除公共访问并设置您自己的用户。它可以绑定到您可用的 LDAP。

【讨论】:

虽然没有明确的支持。【参考方案4】:

云中没有 Nexus Repository 的商业产品,但任何包含运行 Java 应用程序功能的托管服务器都是合适的。周围有很多。 CA 等其他合作伙伴会自动将其包含在他们为客户提供的堆栈中。

您需要管理的唯一开销是安装和运行 Nexus Repository。然而,这是微不足道的,可以在几分钟内完成。

根据您的使用情况,您甚至可以在无人需要时关闭的虚拟机上运行它。例如。一天 24 小时内 .. 如果您的开发和 CI 服务器只需要 12 小时 .. 其余时间关闭 VM。您也可以轻松地自动化这一切。

【讨论】:

我不同意努力是微不足道的——它可能是为了安装,但不是为了持续维护。我认为这个问题正在寻找具有企业支持的托管解决方案。 Nexus Repository 在安装后非常方便且维护成本低,如果您获得 Pro 许可证,无论您的安装是什么,您都可以完全支持 Sonatype。云与否或混合。许可证使您能够运行任意数量的安装。 必须补充一点,在我当前的项目中,自从 nexus 元数据更新被破坏并且我们的内部支持人员说他们无法修复它以来,我们已经有好几周没有构建了。这表明它需要适当的支持。【参考方案5】:

似乎有一个名为 deps 的服务即将在 2017 年开放。从他们的描述来看,这听起来像是我问题的答案,但我们必须看看结果如何。

【讨论】:

【参考方案6】:

JitPack 是一种服务,可以轻松托管非公共(私有)Maven 工件。

它的工作方式是从源代码构建您的私有 Git 存储库并发布生成的工件。 只有您和有权访问 Git 存储库本身的人才能访问这些工件,例如您公司中的人员。

您使用它的方式是添加存储库并将您的依赖项指向 Git 存储库:

    添加存储库:
<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
    添加依赖项
<dependency>
    <groupId>com.github.User</groupId>
    <artifactId>Repository</artifactId>
    <version>Tag</version>
</dependency>

docs 中的更多信息和身份验证。他们的定价可以在他们的pricing page上看到。

【讨论】:

【参考方案7】:

这可能被视为一项促销活动,但我们刚刚在 Deveo 发布了对在云中托管 Maven 存储库的支持。除了发布 blog post 之外,没有其他可用信息。然而,定价应该比 jFrog 提供的更友好。

免责声明:我隶属于该公司。

【讨论】:

很好,关于上述“75 美元/月的最低服务”,这里看起来更像是免费的,直到 1GB,然后 1 欧元/GB/月。【参考方案8】:

我是mymavenrepo.com 的开发人员 - 这是非常简单的 maven 托管,非常适合个人使用和小公司

【讨论】:

看起来不错。比像我一直在做的那样在 AWS EC2 上运行我自己的 Nexus 实例要便宜。 喜欢 mymavenrepo.com 上的较少配置

以上是关于非公共工件的 Maven 存储库托管? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Maven 在 Nexus 中自动上传工件

如何在公共 Maven/Ivy 存储库中搜索特定类?

IDEA插件开发(14)---IntelliJ 平台工件存储库

是否可以在工件中拥有本地 git 存储库?

如何使用 maven 从 ivy 存储库下载工件

阻止 Jenkins 将工件安装到本地 Maven 存储库