我们目前有一个 Nexus 存储库(版本 1.9),用于将 Maven 工件存储在旧服务器中。在我们的新服务器中,我们安装了最新版本的 Nexus 存储库 (3.0.2)。显然,版本 1.9 根据 Maven 坐标树 (org/apache/commons/...
) 将 Maven 工件直接存储在文件系统中,但版本 3.0.2 将工件存储在 Elastic Search 存储库中,作为 blob 对象.
所以我的问题是:如何轻松地将所有工件从版本 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;
关于migration - 将存储库从 Sonatype Nexus 1.9 迁移到 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40222163/