如何从Nexus迁移到Artifactory?

JFrog支持
2017-07-24 37

下面是一些从Nexus迁移到Artifactory时可以使用的技术解决方案。

导入数据

将数据从Nexus导入到Artifactory的两种方法是:

  1. 通过将Nexus文件导入Artifactory存储库。

  2. 通过在Artifactory中将Nexus存储库声明为远程存储库。

两种技术的结合也是可能的。

将Nexus文件直接导入Artifactory的利弊:

优点:

导入后将不需要Nexus,然后可以关闭。所有的部署和缓存管理都将只使用Artifactory完成。

缺点:

导入过程可能需要很长时间。与Nexus不同的是,Artifactory在关系数据库管理系统(RDBMS)中组织文件、文件夹、元数据和所有其他信息。所有的文件都需要在Artifactory中正确地插入和编目,因此在有大量文件和数据的情况下,导入所需的停机时间可能会很长。

关于导入需要注意的一点是:当使用SNAPSHOT本地存储库时,编号将在Artifactory中完成。因此,在进行新的部署之前,需要导入之前所有的快照。

将nexus存储库声明为远程存储库的利与弊:

优点:

  • 来自Nexus存储库的内容和Artifactory中的新内容被清晰地分开。因此,如果Nexus中有很多旧文件和遗留项目没有使用,只是占用空间,这些很快就会显现出来,允许您识别它们并清理它们。

  • 两台服务器都在运行和同步(单向地从Nexus到Artifactory),因此迁移是平稳和增量的,不需要长时间停机。

缺点:

  • 这些文件需要同步,因此需要部署两次(在Nexus中,然后自动部署在Artifactory的缓存中)。

  • 两个服务器(Nexus和Artifactory)都需要运行和维护。

  • 对本地存储库进行多次写入时,同步可能会减慢构建时间。

  • 当大多数文件和文件夹的同步完成后,需要计划某种断开连接。

存储库配置

本地存储库在Nexus和Artifactory中本质上是等价的。需要注意的要点有:

  • 在Artifactory中,不同的布局(Maven 2-1, Ivy, NuGet,…)在创建本地存储库时是可配置的,并且您可以修改每个本地回购的快照版本的最大数量。

  • 通过使用权限目标和删除删除权限来保护发布不被删除。

  • 与Nexus相比,Artifactory中的本地存储库可以管理许多额外的包类型:RPM、NPM、RubyGems等等……

  • Artifactory可以自动清除POM存储库引用,这是Nexus中不存在的功能。

远程存储库是完全等价的,并且验证缓存TTL价值观很重要。

Nexus中的“组”概念在Artifactory中称为“虚拟存储库”。

有一个转换工具可用在这里

了解更多JFrog Artifactory vs Sonatype Nexus