Artifactory或Nexus有什么意义,我该如何使用它们?

mac*_*etw 8 qmake archiva nexus artifactory binary-repository

在研究CI工具时,我发现CI的许多安装也集成到SonaType Nexus和JFrog Artifactory等工件库中.

这些工具听起来与Maven高度集成.我们不使用Maven,也不编译Java.我们使用Qt/qmake/make编译C++,这个版本对我们来说非常有用.我们仍在调查CI工具.

使用Artifact存储库有什么意义?

归档到Nexus或Artifactory(或Archiva)应该是我们的制造链中的一个步骤,还是CI链的一部分,还是它可能是?

我如何使我们的"make"构建或perl/bash/batch脚本与它们交互?

msz*_*ach 11

工件存储库有几个目的.主要目的是拥有maven central(或任何其他maven repo)的副本以获得更快的下载时间,即使互联网出现故障,您也可以使用maven.由于你不使用maven这对你来说无关紧要.

第二个目的是将文件存储在您想要用作依赖项的文件中,但不能从互联网上免费下载.因此,您购买它们或从您的供应商处获取它们并将它们放入您的仓库中.这也更适用于maven用户和依赖机制.

第三个重要目的是让您可以存储您的版本.因此,如果您构建一个版本v1.0,您可以将其上传到这样的存储库,并且使用干净的maven命名方式,它很容易知道如何找到v1.0并将其与所有其他工具一起使用.因此,您可以编写一个脚本,使用wget下载您的版本并将其安装在主机上.

大多数情况下,这些回购都有一种分段过程.因此,您可以将v1.0存储在存档中的存储库中.有人做了测试,当它被罚款时,他将它推广到发布回购,每个人都可以找到并使用它.

它很容易将它们与Maven项目集成,它们很多其他构建工具框架都可以轻松连接它,如蚂蚁常春藤,groovy葡萄等.由于命名模式,您使用bash或perl从中下载/上载文件没有任何限制.

因此,如果您有应该在项目之间共享的版本或文件,并且没有一个很好的解决方案,那么artefact存储库可以是一个很好的起点,看看它是如何工作的.