로컬에서는 잘 되는데 ☘️

[Maven] Nexus란?

by youngjun._.

Nexus란?

  • Sonatype 에서 만든 저장소 관리자 프로젝트
  • 다양한 Format의 사설 저장소를 만들 수 있으며 메인 저장소를 Cache 할 수 있는 기능 또한 제공하여 저장소를 관리할 수 있도록 도와주는 관리자 도구
  • Maven 에서 사용할 수 있는 가장 널리 사용되는 무료 저장소

 


1️⃣ 필요성

사설 리포지토리가 왜 필요할까?

  • 회사/단체의 화이트 리스트로 인해 외부 리포지토리에 접속하기 어려운 경우 Proxy 역할
  • 특히 비상시 외부 인터넷이 느리거나 리포지토리가 다운되는 등 여러 상황에서도 빠르게 받을 수 있음
  • 현재 Maven에 올라와 있지 않은 자료들은 효율적으로 관리하기 위하여
  • 한번 다운로드 받은 dependency는 로컬에 저장되어서 협업 시 다른 PC에도 설치해야 함
  • 서버에도 동일한 설정들을 해줘야 함으로 서버 구조가 복잡할수록 잔업 증가
  • 예외 파일로 인한 설정이 줄어들어 전체적인 일관성이 증가
  • 개발팀에서 사용하는 공통 라이브러리들을 공유
  • 특정 솔루션을 사용하기 위한 3rd Party 라이브러리의 관리

2️⃣ Nexus 2.X → 3.X

  • Nexus 3는 아키텍처와 기능을 완전히 새로 작성하여 성능 및 사용성 개선을 하였고, 더 많은 Format을 지원하며, 2016년 4월 릴리즈
  • 아키텍처와 기능을 완전히 새로 작성하여 만들어졌기 때문에 2.X 버전과의 동등성과 하위호환성이 보장되지 않음
  • Maven, Yum 이외에 Docker, npm, Ruby Gems 등 지원 포맷 확장

2.x 버전에서 3.x 버전으로 업그레이드 한다면 (Nexus Repository Manager 2.x to 3.x Feature Equivalency) 를 참고


3️⃣ Nexus 3 설치

공식 문서만 잘 따라하면 된다.

  1. 공식 문서에서 제공하는 압축 파일을 통해 설치 및 실행하는 방법
  2. Docker 이미지로 설치 및 실행하는 방법

참고 : Nexus로 docker Registry 관리하기


Reference

https://kingbbode.tistory.com/37

https://gs.saro.me/dev?tn=466

블로그의 정보

개발하는만두

youngjun._.

활동하기