我正在寻找一个“存储库”来存储派生信息(构建工件)。 我们有一个存储库(目前是Mercurial)来存储我们的源代码。当某些东西被推送到源存储库时,代码会通过一个持续集成服务器,我们会进行增量构建,因此会更改一些dll。这应该添加到一些“存储库”,以便每个人都可以使用该版本,而无需再次进行构建。 我正在寻找以下功能:
符合这些要求的是什么?
答案 0 :(得分:8)
我同意曼弗雷德,你要找的是binary repository manager。除了Nexus存储库管理器,您还应该考虑Artifactory 至于您询问的功能列表:
此外,我强烈建议您查看binary repository comparison matrix。
免责声明:我在ArtFerric背后的公司JFrog工作
答案 1 :(得分:-2)
您基本上要求使用Nexus Repository Manager等存储库管理器,因为您已正确识别标签。
就您提出的问题的具体要求而言,这里有几个想法。
二进制组件通常通过某些坐标来识别,大多数时候这些坐标包含某种名称和版本。发布和构建过程会更改它们并将它们部署到存储库。这允许您将源代码与二进制文件匹配。您还可以在生成的二进制文件中嵌入git refs等信息。
访问二进制文件通常是通过HTTP完成的,因此很容易。然后你必须确定获得"所有二进制文件的含义"。
底层文件系统或构建工具可以不支持复制基本相同的二进制文件。我看到这两个过程都有效。然而,由于存储便宜,通常不值得付出努力。
有多种方法可以自动清理存储库,包括定期执行的计划任务。最糟糕的情况是,你必须在扩展
免责声明:我是Sonatype的Nexus Repository Manager的社区倡导者和培训师。