目前我们使用 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-xxxtar.bz2 ftp://dist/PRODUCT/VERSION/...
为了维护工件的描述,我们使用README和CHANGES纯测试文件(reStructuredText)。
此架构中缺少什么?
- 缺少权限(任何人都可能损坏存储)。
- 缺少依赖项跟踪(因此,如果版本依赖项发生更改,则必须更新每个构建文件)。
- 缺少获取活动(某些文件似乎不再需要,但我们不知道是哪个)。
我并没有深入寻找现有的解决方案。一些包管理器,如 rpm/dpkg,听说过 Maven 仓库等...
请推荐构建工件存储库管理器。也很高兴听到缺点和限制。
更新