2016-10-24 49 views
3

Mavenの成果物を古いサーバに保存するためのNexusリポジトリ(バージョン1.9)があります。新しいサーバーには、Nexusリポジトリ(3.0.2)の最新バージョンがインストールされています。明らかに、Maven座標木(org/apache/commons/...)によれば、バージョン1.9はファイルシステムに直接Mavenアーティファクトを格納しますが、バージョン3.0.2は、弾性検索リポジトリにアーティファクトをBLOBオブジェクトとして格納します。Sonatype Nexus 1.9から3.0へのリポジトリの移行

私の質問は、どのように簡単にすべての成果物をバージョン1.9から新しいバージョン3.0.2に移行するのですか?マイグレーションツールにはバージョン3.1が必要ですが、2.xから3.1への移行だけが懸念されます。このプロセスバスのためのシェルコマンドのセットですか?

答えて

4

問題を解決しました。 Nexus 1.9はファイルシステムとして直接アーチファクトを保存するので、シェルスクリプトを使用してカールでアーティファクトを送信しました。

#!/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; 
+0

スクリプトは動作します。私たちのリポジトリにもwarファイルがあるので、拡張のリストに '* .war'を追加するだけでした。スクリプトを投稿してくれてありがとう! – gsl

関連する問題