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

标签 migration repository nexus

我们目前有一个 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/

相关文章:

mysql - EMS MySQL 管理器迁移

asp.net-mvc - 存储层中的服务层重复功能

maven - pom.xml 中的版本属性动态

java - Jenkins、Maven、Nexus - 将第 3 方 JAR 部署到需要身份验证的 Nexus

sql-server-2008 - 从SQL Server 2000迁移到2008 R2-如何

node.js - 'SyntaxError : Unexpected token' after migration to different platform

postgresql - Flyway clean 删除公共(public)/例程,之后无法迁移

repository - ssh : Could not resolve hostname github. com 错误

java - 如何在eclipse中同步使用TortoiseSVN 1.8导入的项目?

maven - 无法使用 Gradle 将 Artifact 发布到 Nexus maven 存储库