Nexus Usage Summary
🏢 Project Background
- Environment: Closed network (internal network without internet connection)
🔒 Issues with Closed Network Environment
- Internet is blocked, so libraries (dependencies) cannot be automatically downloaded from external sources
- Example: Cannot fetch dependency packages used by Gradle, Maven, npm, Docker, etc.
📦 Solution – Nexus Introduction
✅ What is Nexus?
- Repository Manager provided by Sonatype
- Acts as a proxy for various package managers (Maven, npm, Docker, etc.)
- By installing Nexus on internal network, libraries pre-downloaded from external network can be stored
and used locally even in closed network environments
🎯 Main Uses of Nexus
| Item | Description |
|---|---|
| Dependency Repository | Stores libraries (e.g., jar files) pre-downloaded from external network |
| Closed Network Support | Enables dependency resolution in internal network |
| Proxy Cache | Once downloaded libraries are cached and reusable |
| Docker Registry Feature | Can be used as self-hosted Docker image repository |
We mainly used it as a Dependency repository and decided to upload required libraries individually via remote deployment
🐳 Nexus and Docker
- Nexus also supports Docker Registry functionality
- Therefore, Docker images created in-house can be stored in Nexus
and pull/push is possible in closed network environments - Can also be utilized for development and deployment automation
- e.g.) Similar role to docker hub > but private
📝 Summary
- The target project was in a closed network environment, making external dependency usage impossible
- Nexus was used to solve this and enable dependency usage
- Nexus integrates with various package management systems like Maven/Docker
and serves as a central repository in closed network development environments