Are you looking to streamline your software artifacts, application packages, open source dependencies? Wouldn't it be great to have a solution that is easy to install, upgrade, maintain, and has a very good web UI with minimal overhead? Along with that if the solutions come with RSS feeds to keep you updated on broken dependencies and provides high availability, faster downloads of your packages during builds or deployment. Whoa, I would want that now!!!
But wait, what if you also can get it for free?
Well, all that is possible. if you choose Nexus repository manager. It comes as a open source or a paid version. You can decide based on your needs.
Nexus repository manager is used to manage software "artifacts" required for development. If you develop software, your builds can download dependencies from Nexus and can publish artifacts back to Nexus creating a great easy way to share artifacts within the organization. With Nexus, you can completely control access to, and deployment of, every artifact in your organization from a single location.
How can Nexus repository manager save your time and money?
- Supports almost all formats of binaries
- Java JAR, WAR, EAR formats
- Plain ZIP or .tar.gz files
- Other package formats such as NuGet packages, Ruby gems, NPM packages
- Executable formats such as .exe or .sh files, Android APK files, various installer formats
- Managing project dependencies,
- Artifacts and Metadata management
- Proxying external repositories
- Versioned central location to be shared within the organization
Here is how you install and configure nexus on linux platform.
In this example, we have installed:
- Apache Maven in /opt/apache-maven-3.3.3 directory and
- Sonatype Nexus OSS will be publishing at http://servername.devdomain.net:8081/nexus/
# Start by creating new user and group, you will prompted do add additional info. sudo adduser nexus
#change to work dir cd /tmp #Then download fresh version of nexus. In my case v2.12.0-01 sudo wget http://download.sonatype.com/nexus/3/nexus-3.0.0-03-unix.sh.asc #Create nexus basedir and change to it sudo mkdir /usr/lib/nexus-oss cd /usr/lib/nexus-oss/ #Extract nexus-2.12.0-01 omly directory from archive. No need of extracting working dir. sudo tar xzvf /tmp/nexus-3.0.0-03-unix.tar.gz nexus-3.0.0-03-unix/
# Move it to wanted install dir sudo mv nexus-3.0.0-03-bundle /usr/local/ cd /usr/local # Create symb link to nexus sudo ln -s nexus-2.12.0-01-bundle nexus # create a symling in /etc/init.d called nexus pointing to the startup script for nexus sudo ln -s /usr/local/nexus/bin/jsw/linux-x86-64/nexus /etc/init.d/nexus # Make nexus executable cd /usr/local/nexus/ sudo chmod -R a+x bin Now we have nexus installed in a specified folder location in our server. Lets follow the next steps to run nexus in the server. sudo /etc/init.d/nexus start # Run nexus as a Service on Ubuntu cd /etc/init.d update-rc.d nexus defaults sudo service nexus start
Type the url http://servername.devdomain.net:8081/nexus/ and verify that application is live. Of course you can change the port for nexus and give a vanity URL if directly hitting the server is not your thing.
Hope this helps you setup your own binary repository manager.