<aside>
💡
요약
공유 파일 ( 라이브러리, 사내 라이브러리 등 ) 중앙 관리 할 수 있는 저장소 역할
</aside>
Nexus ?
- 프로젝트 Build 시 필요한 의존성을 모아 중앙 관리 할 수 있는 저장소의 역할
- Nexus 는 오픈소스로 내부망 환경에서도 사용할 수 있는 사설 Repository 라고 볼 수 있다.
Sonatype Nexus Repository
Nexus 를 왜 사용하지?
- 기업의 입장은 일반과 다르게 외부망 접근을 제한하는 경우가 있다.
Forward Proxy, Reverse Proxy 등을 이용해 숨기는 것도 외부 유출 방지한다.
- Maven 은 믿을 수 있지 않은가?
- 많은 기업에서 사용하고 알려져 있지만 그 이유만으로 기업에 전체적인 외부망 허용을 할 수 없다.
- 프로그램을 구성하면서 수 많은 라이브러리 특히, Maven 을 예시로 들면 Maven 과 관련된 라이브러리는 외부 저장소를 통해서 가져와 다운 받아야 한다.
- 그 과정에서 아래와 같은 생각이 들 수 있다.
- 외부 저장소를 이용할 수 없다면?
- 매번 동일한 라이브러리를 받아오는데 캐시를 활용한다면?
- 혹시 다른 버전의 라이브러리를 사용하게 된다면?
- 이러 고민을 해결할 수 있는 Nexus 를 활용할 수 있다.
캐싱, 동일한 라이브러리, 내부망, 오픈 소스 다양한 이점을 가지고 있다.
- 즉, 내부망을 통해서 Maven 라이브러리, 공용 라이브러리를 쉽게 공유 할 수도 있다.