Support

Support

Use this page to find operational guidance for common migration scenarios. It brings together FAQs and advanced workflow examples so you can diagnose problems, understand migrator behaviour and apply the right migration approach for your environment.

Advanced Workflow Examples

Scenario 1: Selective Repository Migration with Filtering

Goal: Migrate only specific repositories from a large Nexus instance

# Step 1: Start interactive shell
java -jar nexus-repository-instance-migrator-1.0.0-SNAPSHOT.jar

# Step 2: Configure connections
nx-migration:> config set source-nexus-url http://localhost:8081
nx-migration:> config set source-nexus-username admin
nx-migration:> config set source-nexus-password admin123
nx-migration:> config set target-nexus-url https://cloud.example.com
nx-migration:> config set target-nexus-username clouduser
nx-migration:> config set target-nexus-password cloudpass123

# Step 3: Read all configuration (creates repository mappings)
nx-migration:> migrate-config-read

# Step 4: Set filter to migrate only specific repositories
nx-migration:> config set override-repositories maven-central,npm-proxy,docker-hub

# Step 5: Verify connections
nx-migration:> status

# Step 6: Write filtered configuration to target
nx-migration:> migrate-config-write

# Step 7: Migrate content for filtered repositories only
nx-migration:> migrate-content
# This will migrate: maven-central, npm-proxy, docker-hub (using their target mappings)

Scenario 2: Single Repository Migration with Custom Target

Goal: Migrate one repository to a differently named target repository

# Using the interactive shell with explicit repository mapping
nx-migration:> migrate-content --source-repository old-maven-repo --target-repository new-maven-repo

Scenario 3: Configuration-Driven Bulk Migration

Goal: Use configuration file mappings to migrate multiple repositories automatically

# Step 1: Read source configuration (creates mappings file)
nx-migration:> migrate-config-read

# Step 2: Migrate all repositories using configuration mappings
nx-migration:> migrate-content
# This reads the configuration file and migrates ALL repositories found
# Each repository uses its targetRepositoryName from the configuration

Scenario 4: Development to Production Migration

Goal: Migrate from development to production with repository renaming

# Configuration shows dev repositories need prod suffixes
# config file contains mappings like:
# "repositoryName": "maven-central-dev" -> "targetRepositoryName": "maven-central-prod"

# Step 1: Configure for dev->prod migration
nx-migration:> config set source-nexus-url http://dev-nexus:8081
nx-migration:> config set target-nexus-url http://prod-nexus:8081

# Step 2: Read dev configuration
nx-migration:> migrate-config-read

# Step 3: Apply configuration to production (with name mappings)
nx-migration:> migrate-config-write

# Step 4: Migrate content using mapped names
nx-migration:> migrate-content
# maven-central-dev -> maven-central-prod
# npm-proxy-dev -> npm-proxy-prod
# etc.

Scenario 5: Incremental Migration with Filtering

Goal: Migrate repositories in batches.

# Batch 1: Critical repositories
nx-migration:> config set override-repositories maven-central,releases,snapshots
nx-migration:> migrate-content

# Batch 2: Secondary repositories
nx-migration:> config set override-repositories npm-proxy,docker-hub,pypi-proxy
nx-migration:> migrate-content

# Batch 3: All remaining repositories
nx-migration:> config set override-repositories ""  # Clear filter
nx-migration:> migrate-content  # Migrates any remaining repositories

Scenario 6: Pre-Configured Shell with Environment Variables

Goal: Launch the shell with pre-configured settings for quick migration.

# Pre-configure via environment variables
export SOURCE_NEXUS_URL=http://localhost:8081
export SOURCE_NEXUS_USERNAME=admin
export SOURCE_NEXUS_PASSWORD=admin123
export CONFIGURATION_JSON=migration-config.json

# Launch shell with settings already configured
java -jar nexus-repository-instance-migrator-1.0.0-SNAPSHOT.jar
nx-migration:> migrate-config-read  # Uses environment variables
nx-migration:> config show  # Review pre-configured settings
nx-migration:> config set override-repositories critical-repo1,critical-repo2
nx-migration:> migrate-content  # Migrate only critical repositories first

Frequently Asked Questions

java -jar nexus-repository-instance-migrator-1.0.0-SNAPSHOT.jar
status
config show
config set source-nexus-url http://localhost:8081

Logging and Debugging FAQs

2025-11-0410:15:23.456maven-central-/com/example/artifact/1.0.0/artifact-1.0.0.jar
2025-11-0410:15:24.123npm-proxy-/@babel/core/-/core-7.23.0.tgz
2025-11-0410:15:25.789maven-central-/com/example/bad/1.0.0/bad-1.0.0.jar -Checksum mismatch-source:{sha1=abc123} target:{sha1=def456}
2025-11-0410:15:26.234npm-proxy-/package.tgz -Download failed -null response from source Nexus
  --logging.level.com.sonatype.nexus.tools=DEBUG
  --logging.file.name=/path/to/custom/logfile.log
  --logging.file.name=""
  --logging.file.max-size=10MB
  --logging.file.max-history=30

Getting Help FAQs

help               # Built-in shell commands
migrate-help       # Migration-specific commands