DevOps/Nexus

[Nexus] Nexus Repository 서버 구축

cob 2024. 2. 29. 14:49

 

Nexus란?
Apache Maven 프로젝트와 관련된 중앙 저장소 관리 시스템으로 Maven은 Java 기반 프로젝트를 빌드하고 관리하기 위한 도구이며, Nexus는 이러한 프로젝트에 필요한 종속성 (의존성) 파일을 저장하고 관리하는 중앙 저장소 역할을 한다.

 

 


1. 기능

1. 의존성 관리
- Maven 프로젝트에서 필요한 외부 라이브러리 및 플러그인을 관리하고 다운로드할 수 있다.

2. 중앙 저장소
- Nexus는 중앙 위치에 위치하여 여러 프로젝트에서 공유할 수 있는 중앙 저장소 역할을 한다.

3. 로컬 캐시
- Maven 빌드 작업을 향상하기 위해 로컬 캐시를 제공하여 반복적인 다운로드를 피할 수 있다.

4. 보안 및 권한 관리
- 사용자에게 적절한 접근 권한을 부여하고 저장소에 대한 보안을 관리할 수 있다.

5. 프록시 기능
- 원격 Maven 저장소로부터 필요한 의존성을 다운로드할 때 프록시 기능을 통해 속도를 향상할 수 있다.

6. 그룹화
- 여러 저장소를 그룹화하여 하나의 가상 저장소로 사용할 수 있다.

 

 


2. 서버 구축

- 사전에 JDK, wget 설치가 필요하다.

 

2-1 ) 압축 파일 다운

// 파일 다운
wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

// 설치 경로에 압축을 푼다.
tar -xvzf latest-unix.tar.gz

 

2-2) javac 경로 확인

// javac 경로 확인 심볼릭 링크로 조회된다.
which javac

// 원본 경로 조회
readlink -f  [javac 심볼릭 경로]

 

2-3) Nexus 환경 설정

 // 압축을 풀고 생성된  nexus 디렉터리의 bin 경로로 이동
cd ~/nexus-3.65.0-02/bin

//  INSTALL4J_JAVA_HOME_OVERRIDE 주석 해제 후  javac 경로 넣기
vi nexus
...
INSTALL4J_JAVA_HOME_OVERRIDE="[javac 경로]"
..

// run_as_user에 nexuxs를 실행할 사용자 계정을 넣는다.
vi nexus.rc
run_as_user="[사용자 계정]"

// 포트 변경 기본 포트 8081을 변경하고 싶으면 수정
cd ~/nexus-3.65.0-02/etc
vi nexus-default.properties
...
application-port=[포트번호]
...

 

 

2-4) 설치 및 실행

// 위에서 수정한 파일인 nexus 파일을 실행한다.
./nexus start

// 상태 확인
./nexus status

// 정지
./nexus stop

 

 


3. 접속

nexus 접속

초기 접속 계정
패스워드는 최초 로그인 시 경로를 알려 준다

ID : admin
PASSWD : cat sonatype-work/nexus3/admin.password 

 

 

반응형