【问题标题】:Recommend Build Artifact Repository Manager [closed]推荐构建工件存储库管理器 [关闭]
【发布时间】:2011-08-18 08:01:43
【问题描述】:

目前我们使用 FTP 来维护构建工件分发和第 3 方产品(仅供内部使用)。

工件是文档 (HTML/pdf/chm/...)、库 (.dll/.so/.a/.jar/...)、程序 (.exe/.jar/...) 和还要别的吗。它们不限于 Java/.NET,可以来自不同的文化(固件、驱动程序、移动/工作站、​​GUI、Win/Linux/Mac/Solaris/AIX 等)。

为了组织层次结构,我们使用这样的路径:

ftp://3pp/VENDOR/PRODUCT/VERSION/... ftp://3pp/opensource/PACKAGE-x.x.x.tar.bz2 ftp://dist/PRODUCT/VERSION/...

为了维护对工件的描述,我们使用 READMECHANGES 纯测试文件 (reStructuredText)。

此架构中缺少什么?

  • 缺少权限(任何人都可能损坏存储)。
  • 缺少依赖跟踪(因此,如果版本依赖发生变化,每个构建文件都必须更新)。
  • 缺少提取活动(某些文件似乎不再需要,但我们不知道是哪个)。

我并没有深入寻找现有的解决方案。一些包管理器,比如 rpm/dpkg,听说过 Maven repo 等...

请推荐构建工件存储库管理器。也很高兴听到缺点和限制。

更新

【问题讨论】:

    标签: repository artifacts


    【解决方案1】:

    您正在创建一个自定义软件工件存储库。三个开源项目已经这样做了:

    Artifactory 和 Nexus 也有付费版本。

    您可以在这些存储库中存储任何类型的文件,而无需使用 Maven。您可以手动将工件部署到它们。您可以设置细粒度的访问控制。它们与自动化构建工具很好地集成。

    我认为使用其中一种工具会为您节省很多精力!

    Here 三者之间相当公正(社区驱动)的比较矩阵。

    【讨论】:

    • 绝对不是真的。您可以在这些存储库中存储任何类型的软件工件。 Java 可能拥有最成熟的工具,但没有任何限制阻止您将这些存储库与其他技术一起使用。查看 Sonatype 的关于存储库管理的书,以了解工件存储库如何工作以及如何将它们集成到您的工作流程中。 sonatype.com/books/nexus-book
    • 是否有相当于 Bintray 的开源版本?
    • 链接到“binary-repositories-comparison.github.io”会导致页面损坏。
    【解决方案2】:

    使用 SVN + Apache (mod_dav_svn.so, mod_authz_svn.so) 似乎我得到了:

    • 通过 HTTP 协议进行匿名只读访问,范围广泛 支持的客户端下载(来自 GNU Make 的 wget/curl,任务 Apache Ant)。
    • 用户/组易于维护的写访​​问(简单的语法):

      [回购:/路径] 用户 = rw

      通过尸体实用程序。

    • 与 LDAP 集成。

    • 发布历史记录(时间、内容和人员)。
    • 原子操作(防止并发发布和错误回滚)。

    【讨论】:

      猜你喜欢
      • 2012-02-11
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      相关资源
      最近更新 更多