在调查CI工具时,我发现CI的许多安装也集成到SonaType Nexus和JFrog Artifactory等工件库中。
这些工具与Maven高度集成。我们不使用Maven,也不编译Java。我们使用Qt / qmake / make编译C ++,这个版本对我们来说非常有用。我们仍在调查CI工具。
使用Artifact存储库有什么意义?
归档到Nexus或Artifactory(或Archiva)应该是我们制造链中的一个步骤,还是CI链的一部分,还是它可能是?
我如何使我们的“make”构建或perl / bash / batch脚本与它们交互?
答案 0 :(得分:9)
工件存储库有几个目的。主要目的是拥有maven central(或任何其他maven repo)的副本以获得更快的下载时间,即使互联网出现故障,您也可以使用maven。由于你不使用maven,这对你来说无关紧要。
第二个目的是将您想要用作依赖项的文件存储在其中,但无法从互联网上免费下载。因此,您购买它们或从您的供应商处获取它们并将它们放入您的仓库中。这也更适用于maven用户和依赖机制。
第三个重要目的是让您可以存储您的版本。因此,如果你构建一个版本v1.0,你可以将它上传到这样的存储库,并且在maven中使用干净的命名方式,它很容易知道如何找到v1.0并将其与所有其他工具一起使用。因此,您可以编写一个脚本,使用wget下载您的版本并将其安装在主机上。
大多数情况下,这些回购都有一种分段过程。因此,您可以将v1.0存储在存档中的存储库中。有人做了测试,当它被罚款时,他将它推广到发布回购,每个人都可以找到并使用它。
将它们与Maven项目集成起来很简单,它们很多其他构建工具框架都可以轻松连接它,如蚂蚁常春藤,常规葡萄等。由于命名模式,使用bash或perl从中下载/上传文件没有任何限制。
因此,如果您有应该在项目之间共享的版本或文件,并且没有一个好的解决方案,那么artefact存储库可以是一个很好的起点,看看它是如何工作的。
答案 1 :(得分:0)
如here所述:
提供对存储库的稳定而可靠的访问
在不同环境中支持大量通用二进制文件
安全和访问控制
将对文件执行的所有操作追踪回给用户
将大量二进制文件传输到远程位置
跨不同环境管理基础结构配置