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
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. Repository Health Check
12.1. Configuring Repository Health Check
12.1.1. Configuration Per Repository
12.1.2. Global Configuration
12.2. Accessing the Detailed Repository Health Check Report
13. Managing Maven Settings
13.1. Introduction
13.2. Manage Maven Settings Templates
13.3. Nexus M2Settings Maven Plugin
13.3.1. Running the Nexus M2Settings Maven Plugin
13.3.2. Configuring Nexus M2Settings Maven Plugin
13.3.3. Downloading Maven Settings
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.7.1. Creating a NuGet API-Key
16.7.2. Creating a Package for Deployment
16.7.3. Deployment with the NuPkg Upload User Interface
16.7.4. Command line based Deployment to a Nexus NuGet Hosted Repository
16.8. Integration of 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. Publishing npm Packages
18. Ruby, RubyGems and Gem Repositories
18.1. Introduction
18.2. Proxying Gem Repositories
18.3. Private Hosted Gem Repositories
18.4. Grouping Gem Repositories
18.5. Using Gem Repositories
18.6. Pushing Gems
19. RPM Packages and YUM Repositories
19.1. Introduction
19.2. Installation and Requirements
19.3. Configuration
19.3.1. Configure Hosted Yum Repositories
19.3.2. Proxying Repositories
19.3.3. Configure Repository Group for yum
19.3.4. Scheduled Tasks
19.4. Example Usages
19.5. Staging with RPMs
20. Site Repositories
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
21. Repository Management Best Practises
21.1. Introduction
21.2. Repositories Per Project/Team
21.3. Partition Shared Repositories
21.3.1. Selecting an Approach
22. Plugins
22.1. Managing Plugins
22.2. Developing Plugins
22.3. Summary
23. Migrating
23.1. Migrating from Archiva
23.1.1. Introduction
23.1.2. Migrating Archiva Repositories
23.1.3. Migrating an Archiva Managed Repository
23.1.4. Migrating an Archiva Proxy Connector
23.2. Migrating from Artifactory
24. Secure Socket Layer SSL
24.1. Managing Outbound SSL Certificates
24.1.1. Trusting SSL Certificates of Remote Repositories
24.1.2. Trusting SSL Certificates Globally
24.1.3. Trusting SSL Certificates Using Keytool
24.2. Configuring Inbound HTTPS
25. Evaluating Step by Step
25.1. Prerequisites and Preparation
25.1.1. A Note about the Operating System
25.1.2. Java Runtime
25.1.3. Apache Maven
25.1.4. Gradle
25.1.5. Apache Ant and Apache Ivy
25.1.6. Microsoft Visual Studio and NuGet
25.2. Getting Started
25.2.1. Activating Your Nexus Repository Manager Pro Trial
25.2.2. Logging in as an Administrator
25.2.3. Getting Started with Your Nexus Repository Manager Pro Evaluation
25.3. The Basics: Proxying and Publishing
25.3.1. Proxying Components
25.3.2. Publishing Components
25.4. Governance
25.4.1. Identify Insecure OSS Components In Nexus Repository Manager Pro
25.4.2. Track Your Exposure To OSS Licenses
25.5. Process Improvements
25.5.1. Grouping Repositories
25.5.2. Staging a Release with Nexus Repository Manager Pro
25.5.3. Hosting Project Web Sites
25.5.4. Process and Security Improvements with Maven Settings Management and User Token
25.6. .NET Integration
25.6.1. Consume .NET Components from NuGet Gallery
25.6.2. Publish and Share .NET Components with NuGet
25.6.3. Security
25.6.4. Enterprise Deployments
26. Community
26.1. Introduction
26.2. Community Overview
26.3. Plugins
26.4. Integrations
26.5. Other Community Projects
26.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