Migrating repositories to Nexus 3.15.XX


#1

Hello everyone!

I’ve got a question about migration process.

1)We wanna migrate our maven+npm repositories to a new container-instance of Nexus.
The problem is that for now we have all repositories in default blob and in a new one I want to separate each repository for it’s own blob (Maven blob, Npm blob). Is it possible to migrate all packages from old nexus-server to a new one one without asking our developers pushing all packages again? Also I want to migrate all user settings for a new instance of Nexus (as far as I know I just can copy-paste or use Nexus built-in tools to backup nexus-data directory and restore it in a new one)

2)We also have a couple of others repositories like NuGet/PyPI/Docker. The issue that for example we have current instance of private NuGet gallery running on MSSQL database and Nexus using orientDB. I was google and reading official documentation about migrating databases from orientDB official web-site but still have some questions about process, may be some one can give me an advise…
Yes, I can access OrientDB console via jar file located in Nexus.
Am I right that all schemas living in /nexus-data/db folders?
Teleporter is a feature of enterprise version of OrientDB (this thing can migrate from RDBMS to Gparh-Oriented DB) but as far as I can see Nexus uses the free version of Orient and don’t have that feature.
Is there a some way of that king migration built-in Nexus out-of-the-box?
Or maybe someone can give me a link where I can read about that?(Try to find it by myself but don’t find anything that can help me)

Thanks a lot for your help!


#2

If you are talking about migrating repositories from one NXRM 3 instance to another than I’m afraid your only option is going to be scripting. You should be able to use the REST APIs to do this, though if you have more than 10,000 results you won’t be able to request anything beyond the first 10,000.


#3

Thanks for advise.
Yes, I was done some scripting to solve this but I have a strange thing happening…
I was GET-requset for NPM-packages and download them, no issues here but the interesting thing come when I’m POST this packages to a new instance of Nexus.

The problem: when I’m trying to POST a single package with full path - it’s ok. No errors.
But I have a bunch of them and I was use ‘foreach’ cycle. And that’s is the most interesting.

I’ve got the next error:
Status code InternalServerError. Reason Server Error. Server reported the following message: ERROR: (ID
2d6cef11-1fb8-4990-9501-b885f8db5cb8) java.lang.NullPointerException

But despite this error my packages was successfully uploaded and developers can use it. Also we tested builds from new instance of Nexus - it’s fine.

Any ideas why this error appears and why packages still uploads to Nexus despite this error?


#4

The error isn’t complete enough for me to tell what’s happening there. If you have the full stack trace I could take a quick look at the code to see what might be wrong.