【问题标题】:Migrate repositories from Sonatype Nexus 1.9 to 3.0将存储库从 Sonatype Nexus 1.9 迁移到 3.0
【发布时间】:2016-10-24 15:29:51
【问题描述】:

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

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

【问题讨论】:

    标签: migration repository nexus


    【解决方案1】:

    我们已经解决了我们的问题。 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 添加到扩展列表中,因为我们的存储库也有战争文件。感谢您发布脚本!
    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 2015-02-14
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    相关资源
    最近更新 更多