目前我们使用FTP来维护构建工件分发和第三方产品(仅供内部使用)。文件是docs(HTML/pdf/chm/...),libs(.dll/.so/.a/.jar/...),程序(.exe/.jar/...)和其他任何东西。它们不限于Java/.NET,可以来自不同的文化(固件,驱动程序,移动/工作站,GUI,Win/Linux/Mac/Solaris/AIX等)。建议构建工件库管理器
为了orginize hierarhy我们使用这样的路径:
ftp://3pp/VENDOR/PRODUCT/VERSION/... ftp://3pp/opensource/PACKAGE-x.x.x.tar.bz2 ftp://dist/PRODUCT/VERSION/...
为了保持工件的描述中,我们使用自述和CHANGES平原测试文件(reStructuredText的)。
此模式中缺少什么?
- 缺少权限(任何人都可能损坏存储)。
- 缺少依赖关系跟踪(因此每个构建文件必须更新,如果版本依赖关系已更改)。
- 缺少抓取活动(某些文件似乎不再需要,但我们不知道哪个)。
我不是在深入寻找现有解决方案。一些包管理器像rpm/dpkg,听说Maven回购等...
请推荐Build Artifact Repository Managers。也很高兴听到缺点和限制。
UPDATE
- https://en.wikipedia.org/wiki/Binary_repository_manager
- https://binary-repositories-comparison.github.io/
** Apache Archiva **仅与Java世界相关...... – gavenkoa
此工具仅集成**到Java构建工具... – gavenkoa
绝对不是这样。您可以在这些存储库中存储任何类型的软件工件。 Java可能有最成熟的工具,但没有限制阻止您将这些存储库与其他技术一起使用。看看Sonatype关于存储库管理的书籍,以了解工件存储库的工作原理以及如何将它们集成到工作流程中。 http://www.sonatype.com/books/nexus-book –