Deployment 使用工件库存储完整版本?

Deployment 使用工件库存储完整版本?,deployment,build,artifactory,artifact,Deployment,Build,Artifactory,Artifact,我一直在研究工件库,寻找我们的发布团队可以用来存储来自多个项目的完整构建输出的东西。据我所知,工件库主要用于存储构建所需的库文件。我的假设是,它们的预期用途是确保开发人员和构建服务器在构建过程中使用完全相同的二进制依赖项 几个问题: 是否可以将整个项目的构建输出存储到工件存储库(完整版本)中,即存储准备部署的工件的地方 这是惯例吗 是否有可能对自上次构建以来发生的更改进行分析?我能看看自上次发布以来哪些工件发生了变化吗 所以,对你的问题的简短回答是:是的,是的,大部分是肯定的 虽然二进制管理器

我一直在研究工件库,寻找我们的发布团队可以用来存储来自多个项目的完整构建输出的东西。据我所知,工件库主要用于存储构建所需的库文件。我的假设是,它们的预期用途是确保开发人员和构建服务器在构建过程中使用完全相同的二进制依赖项

几个问题:

  • 是否可以将整个项目的构建输出存储到工件存储库(完整版本)中,即存储准备部署的工件的地方

  • 这是惯例吗

  • 是否有可能对自上次构建以来发生的更改进行分析?我能看看自上次发布以来哪些工件发生了变化吗

所以,对你的问题的简短回答是:是的,是的,大部分是肯定的

虽然二进制管理器(如用于依赖关系管理的二进制管理器)确实用于托管整个构建。 在Artifactory中,这可以通过以下方法轻松实现。如果未使用任何CI服务器,例如(例如),则可以使用上载生成及其相应的

此外,关于分析,并不完全如此,但在Artifactory中,您可以选择执行并查看构建之间的更改

希望我能帮忙

埃兰


p、 我为JFrog工作

使用Sonatype Nexus woks根据需要,您不仅可以部署Java工件(例如:.ear、.jar、.war文件),还可以部署任何类型的二进制文件,我们使用它存储Orace BI Publisher或.exe二进制文件的报告

是否可以将整个项目的构建输出存储到工件存储库(完整版本)中,该存储库用于存储准备部署的工件? 是的,正如我之前所说,您可以存储任何类型的二进制文件

这是常见做法吗? 我不知道这是否是一个普遍的做法,但在我的情况下,它帮助我们保持秩序。只要评估一下它是否适合你

是否有可能对自上次构建以来发生的更改进行分析?Ex:我可以看到自上次发布以来哪些工件发生了更改吗?

Sonatype Nexus为每个工件(或二进制文件)处理一个版本,因此您可以存储部署中的所有“历史记录”,还可以处理安全策略。例如,您不能使用同一版本两次部署同一二进制文件。它强制您部署一个新版本,这样您可以验证工件何时发生了更改,日期和上传工件的人

这就是它的样子:


感谢您的回复,从实际使用这些工具的工程师那里得到的回复总是很整洁的。这些构建差异是如何制作的?它是来自CI集成的产品,还是可以手动生成用于封装多个项目的元数据?“构建”是sprint的另一个术语。每个sprint多个团队编译/部署他们的二进制文件/工件,我们将它们集成到各自的服务器/项目中。我们是否可以将来自多个项目的多个工件从多个位置发送到多个位置,但将其分组为一个构建?很有趣。我们目前的问题是,我们有一个庞大的系统,目前(在某种程度上)是手动部署的。这是拥有许多不同技术的项目的副产品。在进入devops之前,我们需要一种方法为我们的集成团队(我们当前的系统是非常定制的)提供一个“改变了什么”列表。有没有一种方法可以检查自迭代期以来发生了什么变化?关于“发生了什么变化?”你的意思是在代码中,对吗?如果这就是验证在二进制文件中这不是一个好主意的要点,我已经使用一个生成二进制文件的管道配置了jenkins,然后将其部署到Nexus中。它是如何工作的?您可以从SVN(或git)进行签出,在管道中您可以看到实际的提交注释和更改的文件,然后将其作为二进制文件(编译代码)部署在Nexus中,这样您就可以在使用某些CI(如Jenkins)时看到更改的内容在您的组织中,我指的是在一个冲刺期之后,工件存储库中发生了什么变化。现在,我们有一个手动的集成过程,我们需要保留这个过程,直到我们能够进行完全自动化的构建部署集成。目前,我们有大约20个项目使用不同的技术,它们都生活在同一个发布周期中。为了简化集成团队的工作,我们需要一个列表来查看自上次sprint以来发生了哪些变化,以满足我们在向DevOps过渡时的需求。