我一直在寻找工件存储库,以便我们的发布团队可以使用它来存储来自多个项目的完整版本的输出。根据我的阅读,工件存储库主要用于存储构建所需的库文件。我的假设是它们的预期用途是确保开发人员和构建服务器在构建过程中使用完全相同的二进制依赖关系。
几个问题:
是否可以将整个项目的构建输出存储到工件库(完整版)中,这是存储可以部署的工件的地方?
这是常见做法吗?
答案 0 :(得分:2)
所以,对你的问题的简短回答是:是的,是的,而且大多数是的。
虽然Artifactory等二进制管理器确实用于依赖关系管理,但它们也用于托管整个构建。 在Artifactory中,这可以通过Build Integration features轻松实现。如果您未使用任何CI服务器(例如Jenkins),则可以使用JFrog CLI上传您的构建版及其相应的Build Info。
此外,关于分析,不完全是这样,但在Artifactory中,您可以选择执行Build Diff并查看构建之间的更改。
希望我帮忙,
叶兰
P.S。我为JFrog工作
答案 1 :(得分:1)
使用Sonatype Nexus woks满足您的需求,您不仅可以部署Java工件(例如:.ear,.jar,.war文件),您可以部署任何类型的二进制文件,我们正在使用它来存储报告Orace BI Publisher或.exe二进制文件。
是否可以将整个项目的构建输出存储到工件存储库(完整版)中,这是存储可以部署的工件的地方? 是的,正如我之前所说,你可以存储你想要的任何类型的二进制文件。
这是常见做法吗? 我不知道这是否是一种常见做法,但就我而言,这有助于我们保持秩序。只是评估它是否适合你。
是否可以分析自上次构建以来更改的内容?例如:我可以看到自上次发布以来哪些工件发生了变化吗?
Sonatype Nexus为每个工件(或二进制)处理一个版本,因此您可以存储所有"历史记录"从您的部署中,它也能够处理安全策略,例如,您无法使用相同的版本两次部署相同的二进制文件,这会强制您部署新版本,这样您就可以验证工件何时更改,日期和上载者神器。
这就是它的样子: