目前,我们使用FTP来维护构建工件分发和第三方产品(仅供内部使用)。
工件是docs(HTML / pdf / chm / ...),libs(.dll / .so / .a / .jar / ...),程序(.exe / .jar / ...)和还要别的吗。它们不限于Java / .NET,可以来自不同的文化(固件,驱动程序,移动/工作站,GUI,Win / Linux / Mac / Solaris / AIX等)。
为了实现hierarhy,我们使用这样的路径:
ftp://3pp/VENDOR/PRODUCT/VERSION/... ftp://3pp/opensource/PACKAGE-x.x.x.tar.bz2 ftp://dist/PRODUCT/VERSION/...
为了维护工件的描述,我们使用 README 和 CHANGES 普通测试文件(reStructuredText)。
此架构中缺少什么?
我不是在寻找现有的解决方案。一些包管理器如rpm / dpkg,听说过Maven repo等......
请推荐Build Artifact Repository Managers。听到缺点和限制也很好。
更新
答案 0 :(得分:48)
您正在创建自定义软件工件存储库。有三个开源项目已经这样做了:
Artifactory和Nexus也有付费版本。
您可以在这些存储库中存储任何类型的文件,并且您不需要使用Maven。您可以手动将工件部署到它们。您可以设置细粒度的访问控制。它们与自动构建工具很好地集成。
我认为使用其中一种工具可以省去很多精力!
Here三者之间相当公正(社区驱动)的比较矩阵。
答案 1 :(得分:0)
使用SVN + Apache(mod_dav_svn.so,mod_authz_svn.so)似乎我得到了:
用户/组易于维护的写访问权限(语法简单):
[repo:/path] user = rw
通过尸体实用程序。
与LDAP集成。