Documentation Nexus Repository Manager 2.14

Repository Management with Nexus

If you are developing software without a repository manager you are likely missing a number of opportunities to reduce some pretty obvious inefficiencies. If everyone on your team has to hit public repositories like the Central Repository to download components, you are missing out on some simple gains in speed and efficiency. If you don't have a local place to deploy components you are forced to share binary components 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 a Nexus Repository Manager, 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. Introduction
1.1. Overview
1.2. Nexus Repository Manager OSS
1.2.1. Features
1.3. Nexus Repository Manager Pro
1.3.1. Features
1.4. Nexus Repository Manager Pro and Nexus IQ Server
1.4.1. Features
2. Concepts
2.1. Introduction
2.2. The Basics - Components, Repositories and Repository Formats
2.3. An Example - Maven Repository Format
2.4. Repository Management
2.5. Software Supply Chain Automation
3. Installing and Running
3.1. Prerequisites
3.2. Downloading
3.2.1. Downloading Nexus Repository Manager OSS
3.2.2. Downloading Nexus Repository Manager Pro
3.3. Installing
3.4. Upgrading
3.5. Running
3.6. Post-Install Checklist
3.6.1. Step 1: Change the Administrative Password and Email Address
3.6.2. Step 2: Configure the SMTP Settings
3.6.3. Step 3: Configure Default HTTP and HTTPS Proxy Settings
3.6.4. Step 4: Enable Remote Index Downloads
3.6.5. Step 5: Change the Deployment Password
3.6.6. Step 6: If Necessary, Set the LANG Environment Variable
3.6.7. Step 7: Configure Routes
3.7. Configuring Nexus Repository Manager as a Service
3.7.1. Running as a Service on Linux
3.7.2. Running as a Service on Mac OS X
3.7.3. Running as a Service on Windows
3.8. Running Behind a Reverse Proxy
3.8.1. Webapp Context Path
3.8.2. Do Not Force Base URL
3.8.3. Example: Reverse Proxy On Restricted Ports
3.8.4. Example: Reverse Proxy Virtual Host at Base Path
3.8.5. Example: Reverse Proxy SSL Termination at Base Path
3.9. Installing a Nexus Repository Manager Pro License
3.9.1. License Expiration
3.10. Directories
3.10.1. Sonatype Work Directory
3.10.2. Configuration Directory
3.11. Monitoring
3.11.1. General Logging
3.11.2. Request Access Logging
3.11.3. Using Java Management Extension JMX
3.11.4. Analytics
4. 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
4.11. Jenkins
4.11.1. Installation
4.11.2. Global Configuration
4.11.3. Tool Configuration (Optional)
4.11.4. Job Configuration
5. Using the 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 Archive Browser
5.7. Inspecting the Component Dependencies
5.8. Viewing Component Security and License Information
5.9. Browsing Groups
5.10. Searching for Components
5.10.1. Search Overview
5.10.2. Advanced Search
5.10.3. Searching Artifact Metadata
5.11. Search Example: Analyzing a Security Vulnerability
5.12. Search Example: Resolving a License Issue
5.13. Uploading Components
5.14. Browsing System Feeds
5.15. Support Tools
5.15.1. System Information
5.15.2. Support Zip
5.16. Working with Your User Profile
5.16.1. Changing Your Password
5.16.2. Additional User Profile Tabs
6. Configuration
6.1. Customizing Server Configuration
6.1.1. SMTP Settings
6.1.2. HTTP Request Settings
6.1.3. Security Settings
6.1.4. Application Server Settings
6.1.5. Default HTTP and HTTPS Proxy Settings
6.1.6. System Notification Settings
6.1.7. PGP Key Server Information
6.1.8. New Version Availability
6.2. Managing Repositories
6.2.1. Proxy Repository
6.2.2. Hosted Repository
6.2.3. Virtual Repository
6.2.4. Configuring Repositories
6.2.5. Viewing the Summary Panel for a Repository
6.2.6. Auto Block/Unblock of Remote Repositories
6.3. Managing Repository Groups
6.4. Managing Routing
6.4.1. Automatic Routing
6.4.2. Manual Routing Configuration
6.5. Managing Scheduled Tasks
6.6. Accessing and Configuring Capabilities
6.7. Customizing the User Interface with Branding
6.8. Configuring Outreach Content in Welcome Tab
6.9. Network Configuration
6.10. Logging
6.11. 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.17.1. Introduction
6.17.2. Enabling and Resetting User Tokens
6.17.3. Accessing and Using Your User Tokens
6.17.4. Configuring User Token behavior
6.18. Authentication via Remote User Token
7. 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. LDAP Integration
8.1. Introduction
8.2. Enabling the LDAP Authentication Realm
8.3. Configuring 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 Internal Roles for External Users
8.10. Mapping External Roles to Repository Manager Roles
8.11. Enterprise LDAP Support
8.11.1. Enterprise LDAP Fail-over Support
8.11.2. Support for Multiple Servers and LDAP Schemas
8.11.3. Enterprise LDAP Performance Caching and Timeout
8.11.4. User and Group Templates
8.11.5. Testing a User Login
9. Atlassian Crowd Support
9.1. Prepare Nexus for Atlassian Crowd
9.2. Prepare Atlassian Crowd
9.2.1. Compatibility
9.2.2. Configure a Nexus Repository Manager Pro Application in the Atlassian Crowd Server
9.3. Configure Nexus Repository Manager Pro Crowd Integration
9.3.1. Configure Nexus Repository Manager Pro to Trust Crowd’s Secure URL (Optional)
9.3.2. Configure Nexus Crowd Connection
9.4. Configure Nexus Repository Manager Pro Crowd Security
9.4.1. Mapping a Crowd Group to Nexus Repository Manager Pro Role
9.4.2. Mapping a Crowd User to Nexus Role
9.5. Activate Nexus Repository Manager Pro Crowd Realm
10. Procurement Suite
10.1. Introduction
10.2. The Stages of Procurement
10.3. Two Approaches to Procurement
10.3.1. Procured Release Repository
10.3.2. Procured Development Repository
10.3.3. Providing Access with a Repository Group
10.4. Setting up a Procured Repository
10.4.1. Enable Remote Index Downloads
10.4.2. Create a Hosted Repository
10.4.3. Configuring Procurement for Hosted Repository
10.4.4. Procured Repository Administration
10.5. Configuring Procurement
10.6. Stopping Procurement
11. Improved Releases with Staging
11.1. Introduction
11.1.1. Releasing Software without a Staging Repository
11.1.2. How the Staging Suite Works
11.2. Configuring the Staging Suite
11.2.1. Overview
11.2.2. Configuring a Staging Profile
11.2.3. Configuring Build Promotion Profiles
11.2.4. Staging Related Security Setup
11.2.5. Using Repository Targets for Staging
11.3. Configuring Your Project for Deployment
11.3.1. Deployment with the Nexus Staging Maven Plugin
11.3.2. Deployment with the Nexus Staging Ant Tasks
11.3.3. Deployment with the Maven Deploy Plugin
11.3.4. Deployment and Staging with Gradle
11.3.5. Manually Uploading a Staged Deployment
11.4. Managing Staging Repositories
11.4.1. Closing an Open Repository
11.4.2. Using the Staging Repository
11.4.3. Releasing a Staging Repository
11.4.4. Promoting a Staging Repository
11.4.5. Releasing, Promoting, and Dropping Build Promotion Profiles
11.4.6. Multilevel Staging and Build Promotion
11.5. Enforcing Standards for Deployment and Promotion with Rulesets
11.5.1. Managing Staging Rulesets
11.5.2. Defining Rulesets for Promotion
11.6. Policy Enforcement with Nexus IQ Server
11.7. Artifact Bundles
11.7.1. Introduction
11.7.2. Creating an Artifact Bundle from a Maven Project
11.7.3. Uploading an Artifact Bundle
12. Managing Maven Settings
12.1. Introduction
12.2. Manage Maven Settings Templates
12.3. Nexus M2Settings Maven Plugin
12.3.1. Running the Nexus M2Settings Maven Plugin
12.3.2. Configuring Nexus M2Settings Maven Plugin
12.3.3. Downloading Maven Settings
12.4. Summary
13. OSGi Bundle Repositories
13.1. Introduction
13.2. Proxy OSGi Bundle Repositories
13.3. Hosted OSGi Bundle Repositories
13.4. Virtual OSGi Bundle Repositories
13.5. Grouping OSGi Bundle Repositories
14. P2 Repositories
14.1. Introduction
14.2. Proxy P2 Repositories
14.3. Grouping P2 Repositories
15. .NET Package Repositories with NuGet
15.1. Introduction
15.2. NuGet Proxy Repositories
15.3. NuGet Hosted Repositories
15.4. NuGet Virtual Repositories
15.5. NuGet Group Repositories
15.6. Accessing Packages in Repositories and Groups
15.7. Deploying Packages to NuGet Hosted Repositories
15.7.1. Creating a NuGet API-Key
15.7.2. Creating a Package for Deployment
15.7.3. Deployment with the NuPkg Upload User Interface
15.7.4. Command line based Deployment to a Nexus NuGet Hosted Repository
15.8. Integration of NuGet Repositories in Visual Studio
16. Node Packaged Modules and npm Registries
16.1. Introduction
16.2. Proxying npm Registries
16.3. Private npm Registries
16.4. Grouping npm Registries
16.5. Configuring npm
16.6. Publishing npm Packages
17. Ruby, RubyGems and Gem Repositories
17.1. Introduction
17.2. Proxying Gem Repositories
17.3. Private Hosted Gem Repositories
17.4. Grouping Gem Repositories
17.5. Using Gem Repositories
17.6. Pushing Gems
18. RPM Packages and YUM Repositories
18.1. Introduction
18.2. Installation and Requirements
18.3. Configuration
18.3.1. Configure Hosted Yum Repositories
18.3.2. Proxying Repositories
18.3.3. Configure Repository Group for yum
18.3.4. Scheduled Tasks
18.4. Example Usages
18.5. Staging with RPMs
19. Site Repositories
19.1. Introduction
19.2. Creating a New Maven Project
19.3. Configuring Maven for Site Deployment
19.4. Adding Credentials to Your Maven Settings
19.5. Creating a Site Repository
19.6. Add the Site Deployment Role
19.7. Publishing a Maven Site
20. Repository Management Best Practises
20.1. Introduction
20.2. Repositories Per Project/Team
20.3. Partition Shared Repositories
20.3.1. Selecting an Approach
21. Plugins
21.1. Managing Plugins
21.2. Developing Plugins
21.3. Summary
22. Migrating
22.1. Migrating from Archiva
22.1.1. Introduction
22.1.2. Migrating Archiva Repositories
22.1.3. Migrating an Archiva Managed Repository
22.1.4. Migrating an Archiva Proxy Connector
22.2. Migrating from Artifactory
23. Secure Socket Layer SSL
23.1. Managing Outbound SSL Certificates
23.1.1. Trusting SSL Certificates of Remote Repositories
23.1.2. Trusting SSL Certificates Globally
23.1.3. Trusting SSL Certificates Using Keytool
23.2. Configuring Inbound HTTPS
24. Community
24.1. Introduction
24.2. Community Overview
24.3. Plugins
24.4. Integrations
24.5. Other Community Projects
24.6. Contributing
A. Contributing to the Nexus Documentation
B. Copyright
C. Creative Commons License
C.1. Creative Commons BY-NC-ND 3.0 US License
C.2. Creative Commons Notice