Repository Management with Nexus

Table of Contents

If you are developing software without a repository manager you are likely missing a number of opportunities to reduce some pretty obvious ineffeciencies. If everyone on your team has to hit Central to download artifacts you are missing out on some simple gains in speed and efficiency. If you don't have a local place to deploy artifacts you are forced to share binary artifacts using half-measures and compromises such as storing binaries in source control. Stop developing in the Dark Ages, read this book, and start using a repository manager. Trust us, once you start using Nexus, you'll wonder how you ever functioned without it.

Authors

Sonatype, Inc. Manfred Moser Tim O'Brien Jason Van Zyl Damian Bradicich John Casey Tamás Cservenák Brian Demers Brian Fox Marvin Froeder Anders Hammar Rich Seddon Peter Lynch Juven Xu

Preface
1. Introducing Sonatype Nexus
1.1. Introduction
1.2. Nexus Open Source
1.3. Nexus Professional
1.4. Choosing a Nexus Edition
1.5. History of Nexus
2. Component Lifecycle Management and Repository Management
2.1. Introduction
2.2. Component Lifecycle Management
2.3. Repository Management
2.4. What is a Repository?
2.5. What is a Repository Manager
2.6. Reasons to Use a Repository Manager
2.7. Adopting a Repository Manager
3. Installing and Running Nexus
3.1. Nexus Prerequisites
3.2. Downloading Nexus
3.3. Installing Nexus
3.4. Upgrading Nexus
3.5. Running Nexus
3.6. Post-Install Checklist
3.7. Configuring Nexus as a Service
3.8. Running Nexus Behind a Reverse Proxy
3.9. Installing the Nexus WAR
3.10. Installing a Nexus Professional License
3.11. Nexus Directories
3.12. Monitoring Nexus
4. Configuring Maven and Other Build Tools
4.1. Introduction
4.2. Apache Maven
4.3. Adding Repositories for Missing Dependencies
4.4. Adding a New Repository
4.5. Adding a Repository to a Group
4.6. Apache Ant and Apache Ivy
4.7. Apache Ant and Eclipse Aether
4.8. Gradle
4.9. SBT
4.10. Leiningen
5. Using the Nexus User Interface
5.1. Introduction
5.2. Browsing Repositories
5.3. Viewing the Artifact Information
5.4. Viewing the Maven Information
5.5. View and Editing Artifact Metadata
5.6. Using the Artifact Archive Browser
5.7. Viewing the Artifact Dependencies
5.8. Viewing Component Security and License Information
5.9. Browsing Groups
5.10. Searching for Artifacts
5.11. Uploading Artifacts
5.12. Browsing System Feeds
5.13. Support Tools
5.14. Working with Your User Profile
6. Configuring Nexus
6.1. Customizing Server Configuration
6.2. Managing Repositories
6.3. Managing Groups
6.4. Managing Routing
6.5. Managing Scheduled Tasks
6.6. Accessing and Configuring Capabilities
6.7. Customizing the Nexus Application with Branding
6.8. Configuring Outreach Content in Welcome Tab
6.9. Network Configuration
6.10. Logging
6.11. Nexus Plugins and the REST API
6.12. Managing Security
6.13. Managing Privileges
6.14. Managing Repository Targets
6.15. Managing Roles
6.16. Managing Users
6.17. Security Setup with User Tokens
6.18. Authentication via Remote User Token
7. Nexus Smart Proxy
7.1. Introduction
7.2. Enabling Smart Proxy Publishing
7.3. Establishing Trust
7.4. Repository Specific Smart Proxy Configuration
7.5. Smart Proxy Security and Messages
7.6. Example Setup
7.7. Advanced Configuration
8. Nexus LDAP Integration
8.1. Introduction
8.2. Enabling the LDAP Authentication Realm
8.3. Configuring Nexus LDAP Integration
8.4. Connection and Authentication
8.5. User and Group Mapping
8.6. Mapping Users and Groups with Active Directory
8.7. Mapping Users and Groups with posixAccount
8.8. Mapping Roles to LDAP Users
8.9. Mapping Nexus Roles for External Users
8.10. Mapping External Roles to Nexus Roles
8.11. Enterprise LDAP Support
9. Atlassian Crowd Support
9.1. Prepare Nexus for Atlassian Crowd
9.2. Prepare Atlassian Crowd
9.3. Configure Nexus Crowd Integration
9.4. Configure Nexus Crowd Security
9.5. Activate Nexus Crowd Realm
10. Nexus Procurement Suite
10.1. Introduction
10.2. The Stages of Procurement
10.3. Two Approaches to Procurement
10.4. Setting up a Procured Repository
10.5. Configuring Procurement
10.6. Stopping Procurement
11. Improved Releases with Nexus Staging
11.1. Introduction
11.2. Configuring the Nexus Staging Suite
11.3. Configuring Your Project for Deployment
11.4. Managing Staging Repositories in Nexus
11.5. Enforcing Standards for Deployment and Promotion with Rulesets
11.6. Policy Enforcement with Sonatype CLM
11.7. Artifact Bundles
12. Repository Health Check
12.1. Configuring Repository Health Check
12.2. Accessing the Detailed Repository Health Check Report
12.3. Example: Analyzing a Security Vulnerability
12.4. Example: Resolving a License Issue
13. Managing Maven Settings
13.1. Introduction
13.2. Manage Maven Settings Templates
13.3. Nexus M2Settings Maven Plugin
13.4. Summary
14. OSGi Bundle Repositories
14.1. Introduction
14.2. Proxy OSGi Bundle Repositories
14.3. Hosted OSGi Bundle Repositories
14.4. Virtual OSGi Bundle Repositories
14.5. Grouping OSGi Bundle Repositories
15. P2 Repositories
15.1. Introduction
15.2. Proxy P2 Repositories
15.3. Grouping P2 Repositories
16. .NET Package Repositories with NuGet
16.1. Introduction
16.2. NuGet Proxy Repositories
16.3. NuGet Hosted Repositories
16.4. NuGet Virtual Repositories
16.5. NuGet Group Repositories
16.6. Accessing Packages in Repositories and Groups
16.7. Deploying Packages to NuGet Hosted Repositories
16.8. Integration of Nexus NuGet Repositories in Visual Studio
17. Node Packaged Modules and npm Registries
17.1. Introduction
17.2. Proxying npm Registries
17.3. Private npm Registries
17.4. Grouping npm Registries
17.5. Configuring npm
17.6. Deploying npm Packages
18. Rubygems
18.1. Introduction
18.2. What’s Included?
18.3. Proxying Rubygem Registries
18.4. Private Rubygems Registries
18.5. Grouping Rubygem Registries
18.6. Deploying Gems
19. RPM Packages and YUM Repositories
19.1. Introduction
19.2. Installation and Requirements
19.3. Configuration
19.4. Example Usages
19.5. Staging with RPMs
20. Deploying Sites to Nexus
20.1. Introduction
20.2. Creating a New Maven Project
20.3. Configuring Maven for Site Deployment
20.4. Adding Credentials to Your Maven Settings
20.5. Creating a Site Repository
20.6. Add the Site Deployment Role
20.7. Publishing a Maven Site to Nexus
21. Nexus Best Practises
21.1. Introduction
21.2. Repositories Per Project/Team
21.3. Partition Shared Repositories
22. Nexus Plugins
22.1. Managing Nexus Plugins
22.2. Developing Nexus Plugins
22.3. Summary
23. Migrating to Nexus
23.1. Migrating from Archiva
23.2. Migrating from Artifactory
24. Configuring Nexus for SSL
24.1. Introduction
24.2. SSL Client Certificates
24.3. Configuring Nexus to Serve via SSL
25. Evaluating Nexus Step by Step
25.1. Prerequisites and Preparation
25.2. Getting Started
25.3. The Basics: Proxying and Publishing
25.4. Governance
25.5. Process Improvements
25.6. .NET Integration
26. Nexus Community
26.1. Introduction
26.2. Community Projects Overview
26.3. Nexus Plugins
26.4. Nexus Integrations
26.5. Other Community Projects
26.6. Contributing
A. Contributing to the Nexus Book
B. Copyright
C. Creative Commons License
C.1. Creative Commons BY-NC-ND 3.0 US License
C.2. Creative Commons Notice