Migration 将存储库从Sonatype Nexus 1.9迁移到3.0

Migration 将存储库从Sonatype Nexus 1.9迁移到3.0,migration,repository,nexus,Migration,Repository,Nexus,我们目前有一个Nexus存储库(版本1.9),用于在旧服务器中存储Maven工件。在我们的新服务器中,我们安装了Nexus repository的最新版本(3.0.2)。显然,根据Maven坐标树(org/apache/commons/…),版本1.9将Maven工件直接存储在文件系统中,但版本3.0.2将工件作为blob对象存储在弹性搜索repo中 所以我的问题是:如何轻松地将所有工件从版本1.9迁移到新版本3.0.2?迁移工具应该随版本3.1一起提供,但我担心它只涉及从2.x到3.1的迁移。

我们目前有一个Nexus存储库(版本1.9),用于在旧服务器中存储Maven工件。在我们的新服务器中,我们安装了Nexus repository的最新版本(3.0.2)。显然,根据Maven坐标树(
org/apache/commons/…
),版本1.9将Maven工件直接存储在文件系统中,但版本3.0.2将工件作为blob对象存储在弹性搜索repo中


所以我的问题是:如何轻松地将所有工件从版本1.9迁移到新版本3.0.2?迁移工具应该随版本3.1一起提供,但我担心它只涉及从2.x到3.1的迁移。这是用于该进程的一组shell命令吗?

我们已经解决了问题。Nexus 1.9将工件直接存储为文件系统,因此我们使用shell脚本发送带有curl的工件:

#!/bin/bash

REPOSITORY=your_repo
EXTENSIONS="*.jar *.pom *.xml *.md5 *.sha1 *.zip"

for tosearch in $EXTENSIONS;
do
     for file in `find . -name $tosearch`;
     do
         length=${#file}
         path=${file:2:$length}
         curl -# -u user:password --upload-file $path http://nexus.example.fr/repository/$REPOSITORY/$path
     done;
done;

你的剧本行得通。我只需要将
*.war
添加到扩展列表中,因为我们的存储库也有war文件。谢谢你发布脚本!