What is Continuous Packaging & Archive?

Application packages are a program or group of programs that is designed for the end user. Application packages make application installation/uninstall process to Modular approach, Encapsulation/hiding of business logic, security, performance improvement, reusability Advantages of application software:

  • Only one specific software application can complete single or multiple tasks. 2
  • There are very small amount of virus threat invading custom-made application.
  • Business can restrict access and protect their network.
  • Licensed application software can get regular updates from the developer for ecurity purposes.
  • The developer can also check timely if problems occurs in their network.
  • Easy to access and always available.
  • Properly documented.
  • Efficient, quick and easy to follow instruction.
  • Application package can designed the whole system software to finish multiple task.
  • Provide a complete set of application from only one source.

There are following reason, we should use teh centralized repository to store our builds and artifacts.

  • Download components from remote repositories for fast, reliable local access.
  • Use fewer component versions and avoid redundant frameworks, etc. to improve maintainability.
  • Easily share and version external and internal components across development teams and tools.
  • Help developers choose better components and easily avoid known defects.
  • Know what components are used and where. If a defect is discovered, find it easily.
  • Be alerted when open source projects fix a bug or publish a new version.

The List of Repository Managers

The Following is a list of the known Maven repository managers and listed in alphabetical order:

Apache Archiva

Apache Archiva is an extensible repository management software that helps taking care of your own personal or enterprise-wide build artifact repository. It is the perfect companion for build tools such as Maven, Continuum, and ANT.

Archiva offers several capabilities, amongst which remote repository proxying, security access management, build artifact storage, delivery, browsing, indexing and usage reporting, extensible scanning functionality… and many more!

Artifactory
Artifactory is a Maven 2 enterprise repository. It offers advanced proxying, caching and security facilities to provide a robust, reproducible and independent build environment when using Maven. Artifactory is being used by clients ranging from small startup teams to international corporate teams employing distributed development, thus improving the development experience for tens of thousands of developers. Artifactory exposes a robust artifacts management platform using rich Ajax web UI and can be run out-of-the-box with a simple “unzip and launch”.

Sonatype Nexus
Sonatype Nexus is the repository manager used as the input channel for the Central Repository running the Sonatype Open Source Repository Hosting OSSRH service. Nexus is available in an open source as well as a commercial edition and runs large enterprise as well as open source forge sites such as JBoss or Apache. It provides robust features and performance with the open source version and scales to the high demands of large enterprises with the pro edition. Find out more details on the website} or by using the trial version. I will try to give a general picture of a few of the main distinguishing features of these two tools, from the point of view of how you might want to setup your enterprise repository in a real organization.

Installation and general use

Both Nexus and Artifactory are easy enough to install. Nexus does use a lot less memory (around five times less according to my unscientific trials). A full build for a medium-size project on my workstation ran roughly 15% faster with Nexus.

Artifact searching
Searching for artifacts can come in handy from time to time. Nexus provides a simple, Google-like search interface for searching both your cached repositories and the remote repositories (you can actually configure whether you want a particular remote repository to be included in local searches). Nexus also supports Open Search, so you can integrate the Nexus search function directly into your browser (see below). The Nexus search feature also lets you search artifacts by other criteria, such as classname, GAV (group/artifact/version) or metadata.

Security
If you work in a large organization, you probably don’t want developers from other teams being able to deploy snapshots and releases for your project. Both Artifactory and Nexus have flexible flexible security models, build around users, user groups, and repository targets. With both, it is easy to limit the rights of a particular user or group to a particular part of a repository, for example, though the use of regular expressions in Nexus gives it more flexibility in this area. The Nexus model is more fine-grained and more powerful, but at the cost of a slightly more complicated user interface.

Build promotion strategies
Build promotion strategies basically involve moving artifacts from one repository to another depending on their stage in the build promotion process. You can implement such strategies manually, but a bit of automation can really make your life easier.

Artifactory supports build promotion to some extent in its commercial version, using a combination of repository metadata and a process of manually copying or moving groups of artifacts between repositories.

Build promotion is one of the areas that Nexus Pro really shines. You can set up a Staging profile, which intercepts certain artifacts (for example, release artifacts for a particular project) and places them in a special, dynamically-created repository.

Deploying Maven web sites
One other neat feature available in Nexus Pro is the ability to deploy Maven sites. This gives you a convenient central server where you can deploy and consult the Maven web site for each of your projects with a minimum of fuss and effort.

Repository Maintenance
Both tools provide good support for repository maintenance, but with a very different feature set. Artifactory proposes to actively tidy up pom files that it downloads, by removing any declarations of remote repositories in them. It also lets you limit the number of snapshots per artifact for each repository. In Nexus, you can also schedule maintenance tasks such as deleting old snapshots, backing up configuration files and so on. You can also configure Nexus to delete all the snapshots for a particular artifact when it is release, which can save quite a bit of space for large projects.

Rajesh Kumar
Follow me
Latest posts by Rajesh Kumar (see all)