推荐 Build Artifact Repository Manager [英] Recommend Build Artifact Repository Manager

查看:49
本文介绍了推荐 Build Artifact Repository Manager的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

工件是文档 (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.bz2ftp://dist/PRODUCT/VERSION/...

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

此架构中缺少什么?

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

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

请推荐 Build Artifact Repository Managers.也很高兴听到缺点和限制.

更新

解决方案

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

Artifactory 和 Nexus 也有付费版本.

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

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

这里是三者之间相当公正(社区驱动)的比较矩阵.

Currently we use FTP to maintain build artifact distribution and 3rd party products (for internal use only).

Artifacts are docs (HTML/pdf/chm/...), libs (.dll/.so/.a/.jar/...), programs (.exe/.jar/...) and anything else. They are not restricted to Java/.NET and can come from different cultures (firmware, driver, mobile/workstation, GUI, Win/Linux/Mac/Solaris/AIX,... etc).

To orginize hierarhy we use such paths:

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

To maintain description of artifacts we use README and CHANGES plain test files (reStructuredText).

What is missing in this schema?

  • Missing permissions (anyone can damage storage).
  • Missing dependency tracking (so every build file must be updated if version dependency changed).
  • Missing fetching activity (some files seem no longer needed, but we don't know which).

I am not deeply looking for existing solutions. Some package manager like rpm/dpkg, heard about Maven repo etc...

Please recommend Build Artifact Repository Managers. Also it is good to hear drawbacks and restrictions.

UPDATE

解决方案

You're creating a custom software artifact repository. There are three open-source projects which already do this:

Artifactory and Nexus also have paid versions.

You can store any kind of file in these repositories, and you don't need to use Maven. You can manually deploy artifacts to them. You can set up fine-grained access control. They integrate well with automated build tools.

I think using one of these tools would save you a lot of effort!

Here's fairly unbiased (community-driven) comparison matrix between the three.

这篇关于推荐 Build Artifact Repository Manager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆