migrating from Apache Archiva to Nexus 3 - nexus

I am trying to move all repositories I am using to Nexus 3. I use Apache Archiva as a Maven repository. I read that it's possible to copy repos between Archiva and Nexus 2. Is there any way to do the same with Nexus 3 ?

I have tried to do a workaround and succeeded. I created an instance of Nexus2 and migrated Archiva there. After that I have used the upgrade agent from Capabilities to migrate from Nexus2 to 3. Not a complicated way and is fast as well.

Related

How to build a high-availability cluster in RedHat Fuse 7.x on Karaf?

RedHat Fuse 7.x is offered both on OpenShift and Karaf. While OpenShift version supports containerization of RedHat Fuse application, it inherently makes it highly available I believe. But I am wondering if load balanced and highly available cluster can be formed for RedHat Fuse Karaf version. Earlier till version 6.x, they used to support Fuse Fabric for clustering. The documentation of version 7.x says they have discontinued Fuse Fabric support. If anyone has deployed RedHat Fuse on Karaf in a clustered environment, please let me know how it was achieved.
For my understanding Red Hat Fuse on karaf is just Red Hat supported version of Karaf with bunch of Red Hat Flavored features installed like Camel and Hawtio. OpenShift and Apache Karaf offer two very different levels of containerization. one could say you use OpenShift to run microservices and Apache karaf to run nanoservices.
While you can install and run multiple applications inside Apache Karaf they're still running on the same virtual machine and operating system. You can however create docker image and run Apache karaf on container(s) in Docker, Kubernetes, OpenShift etc like any other application.
This can be useful if you want to group bunch of applications/services together to save resources, share dependencies or just to reduce the amount of different docker containers or deployments.
There's official docker image available for Apache Karaf one can use for reference to create docker image(s) for Red hat fuse on Karaf.
Apache karaf docker - DockerHub
Apache karaf docker - Github
Generally you probably want to create image from a custom karaf assemply that includes all the features and bundles you need to run your applications so when things get added updated you can just swap the image.
Technically you could also use CD/CI pipelines or something like Karaf Cellar to manage multiple karaf instances. This would allow you to add, remove and update functionality of karaf instance even while its running. This however sounds quite complex to pull off and maintain.
As a disclaimer I would like to add that I've not used Apache Karaf or Red Hat Fuse on Karaf with Kubernetes or OpenShift yet. Most of my experience is with running karaf using docker/podman compose or RHEL VM.

Different structure in a conan repository in Artifactory

I've noticed a different repository structure for a conan repository in Artifactory.
1. Artifactory Enterprise 6.3.2
Repository Layout: conan-default
Repository strucutre: repository_name/conan_username/conan_package_name/version/channel
2. Artifactory Enterprise 5.4.6
Repository Layout: conan-default
Repository strucutre: repository_name/conan_package_name/version/conan_username/channel
Do you know why? Is it because the Artifactory version? I haven't found anything in Artifactory release notes related to the conan repository structure.
The default layout for conan packages was migrated in Artifactory 6, to match other package managers default layouts that put the user (organization) name first, as the most important classification of packages.
The migration should be automatic, and affect only the visual appearance in Artifactory web UI. If there is some other changes, or the conan client breaks (and this is the reason you are asking), then, it is a failing migration in Artifactory upgrade. It should be reported to JFrog and ask support to help recover it.

Scripting upgrade of Nexus 2.14.2 to 3.2

I am going to upgrade Nexus 2 to Nexus 3 and have read the documentation about upgrading to Nexus 3.2 and it only mention using the upgrade wizard.
is it possible to do the same thing by writing a script or using some command line tool? I am going to upgrade several nexus installations and if it where possible to do it using a script it would save me a lot of time.
Update:
I have gotten response from Sonatype that there is no command line / REST interface that you can use to migrate from Nexus 2 to Nexus 3. You need to use the GUI migration wizard.

Nexus 2 OSS vs. Nexus 3

I operate some Docker services. Some of them are selfmade with Dockerfiles. I now want to store them into a Sonatype Nexus private repository to publish them to another server in my network.
My research half a year ago gave me Nexus 2 OSS as best option. But now Nexus 3 got released and I'm kinda confused. What version should I use? Greatest confusion is because there is no difference between Pro and OSS version anymore on Docker Hub:
sonatype/nexus has got tags oss and pro
sonatype/nexus3 has only got tags like 3.x.x
Question is: May I use Nexus 3 for free? Or will there be any costs as in Nexus 2 Pro?
Nexus Repository Manager 2 does not support Docker as a format. Nexus Repository Manager 3 does, and Docker support is a part of our OSS solution, meaning you can use Docker completely free. There is a professional version coming with 3.1 that will start to have features such as high availability, expanded enterprise support, as well as just regular support of the product.
As for the Docker images, Nexus 3 now has the ability to operate as OSS or Pro from the same bundle so you'll likely only see tags for Releases, not OSS and Pro.

Using XCore generated classes in a war aggregating multiple Maven projects

I have a maven project called myproject.app. I also have another project using vaadin and gwt called myproject.ui and another project, which is an Xcore-Project converted to Maven called myproject.model.
I want to aggregate them all in a war. For this I have a myproject.war with a pom declaring the dependencies.
For Vaadin and GWT everthing is working fine as these projects are pure maven projects. The Xcore project gives me headaches because I can't manage to provide the Plugin Dependencies declared in this project in the war.
I have tried to add the needed libraries in the pom but I can only get old versions (2.2.3) from Central - the XCore project uses 2.8./3.8..
How can I solve this?
The answer is to convert the eclipse dependencies (EMF, XCore ...) to maven artifacts using the Maven Tools 4 Eclipse.
http://wiki.eclipse.org/MT4E_FAQ
For professional usage it is necessary to setup a maven repository, I used Nexus with success (if you are developing locally and alone it would be enough to install the artifacts in you local repository).
http://www.sonatype.org/nexus/
You can get it working by setting up a hosted repository with the converted Eclipse artifacts (documented in the mt4e reference) and creating a repository group aggregating the preconfigured maven central proxy and the hosted repository with the eclipse artifacts.
You need to setup your local settings.xml to use the nexus and you're good to go. Eclipse's artifacts are usable via maven coordinates.
Keep the orbit artifacts in mind and design your patch files carefully.

Resources