如何快速同步大型存储库

帕特里克·罗素
2021-04-23 17:50

如何执行Content-Free Repository导入,快速同步存储库

通常,在生产环境中导出大型Artifactory存储库的速度太慢。但是,有一种方法可以加速单个存储库的导出和导入过程。一旦这个初始过程完成,基于事件的复制将能够有效地处理在源Artifactory上创建的新项。该过程首先涉及将整个Artifactory文件存储复制到目标机器,然后导入存储库元数据。以这种方式更新了所有存储库之后,运行常规的Artifactory垃圾收集常规程序将擦除您的文件存储unimported数据。

要实现这一切,请执行以下步骤:

1]rsync或以其他方式复制您的源Artifactoryfilestore目录到您的目标Artifactory文件存储。一定要禁用垃圾收集在目标Artifactory实例上,以防止对新文件存储的干扰。

注意:rsync应该被认为是迁移过程的开始,在rsync之后上传的文件将不会被迁移。

2]在源Artifactory上执行一个无内容的系统导出。您可以通过导航到Admin >导入导出>系统在Artifactory 6。X (Admin > Artifactory >导入导出>系统在Artifactory 7.X中),并勾选排除的内容复选框。

3]执行库中导入在目标Artifactory上使用来源工艺品出口,请记住,导入的路径应该是系统导出文件夹:

20180801.194225 /仓库/ libs-snapshot-local

执行系统导入的方法与常规存储库导出相同,不同之处在于后者捕获的是该导入不需要的其他数据,例如安全设置

4)重复第三步用于需要完全同步的任何其他存储库。

5]运行Artifactory’s垃圾收集例程从目标文件存储中删除剩余的不需要的文件。

请注意:您可能会观察到与缺少二进制文件,这是意料之中的。rsync没有捕获系统导出包含的最近上传的文件。这些错误不会影响其他二进制元数据的导入。参见下面的节点步骤# 1有关此预期行为背后的详细信息。

此外,请注意存储库导入例程只是附加的。它不像系统导入目标Artifactory上的任何旧文件都将被删除。这允许您向现有存储库添加额外的数据。