- 오늘 방문자
- 누적 방문자
Branding, UI Design 개념 / 2024 December 03 / 작성자 이소현

Nexus에 대해 알아보자

Nexus 사용 정리




🏢 프로젝트 배경

  • 환경: 폐쇄망(인터넷이 연결되지 않은 내부망)




🔒 폐쇄망 환경의 문제점

  • 인터넷이 차단되어 있어 외부로부터 라이브러리(dependency) 를 자동으로 다운로드 받을 수 없음
  • 예: Gradle, Maven, npm, Docker 등에서 사용하는 의존성 패키지들을 가져올 수 없음




📦 해결 방법 – Nexus 도입

✅ Nexus란?

  • Sonatype에서 제공하는 Repository Manager
  • 다양한 패키지 매니저(Maven, npm, Docker 등)의 프록시 역할을 해줌
  • 내부망에 Nexus를 설치하면 외부에서 미리 받은 라이브러리를 저장해두고
    폐쇄망 환경에서도 이를 로컬에서 가져다 쓸 수 있음

🎯 Nexus의 주요 쓰임새

항목 설명
Dependency 저장소 외부망에서 미리 다운로드 받은 라이브러리들을(ex. jar파일) 보관
폐쇄망 대응 내부망에서 의존성 해결 가능
프록시 캐시 한번 받은 라이브러리는 캐시되어 재사용 가능
Docker Registry 기능 자체 Docker 이미지 저장소로 활용 가능

거의 Dependency 저장소로만 사용했고 사용할 라이브러리들을 remote로 배포시에 각각 올리기로 했음




🐳 Nexus와 Docker

  • Nexus는 Docker Registry 기능도 지원
  • 따라서 사내에서 만든 Docker 이미지를 Nexus에 저장해두고
    폐쇄망 환경에서 pull/push 가능
  • 개발 및 배포 자동화에도 활용 가능
  • ex) docker hub 같은 역할 > 다만 private




📝 정리

  • 대상 프로젝트는 폐쇄망 환경이라 외부 의존성 사용이 불가능
  • 이를 해결하기 위해 Nexus를 사용해 의존성 사용할 수 있도록 함
  • Nexus는 Maven/Docker 등 다양한 패키지 관리 시스템과 연동되며
    폐쇄망 개발 환경에서 중앙 저장소 역할을 수행