[CentOS7] 넥서스(Nexus) 설치
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 넥서스(Nexus) 설치 ] 입니다. :)
▶ 넥서스 (Nexus)
1. 프로젝트 / 기업에서 사용할 수 있는 무료!! 내부 리포지토리 구성을 위한 도구.
2. Nexus는 다수의 central repository들을 관리할 수 있으며 Proxy 개념을 통해 개발자들에게 보다 쉬운 repository 연동 편의성을 제공한다.
3. 외부에서 dependency를 끌어오는 수고를 덜고, local nexus를 proxy(cache)로 사용함으로써 빠르게 라이브러리를 끌어 올 수 있다.
4. 개발팀에서 사용하는 공용 라이브러리를 local nexus에 배포해서 팀간에 공유할 수 있습니다.
▶ Repository
1. Snapshots : 빌드등 수시로 릴리즈 되는 바이너리를 배포 하는 장소
2. Releases : 정식 릴리즈를 통해서 배포되는 바이너리를 저장하는 저장소
3. 3rd party : 벤더등에서 배포하는 (Oracle,IBM등) 바이너리를 저장해놓는 장소로 특정 솔루션등을 사용할때, 딸려 오는 라이브러리등을 여기에 놓고 사용한다.
4. Proxy Repository : 원격에 원본 repository가 있는 경우, Local에 캐쉬 용도로 사용한다.
5. Virtual Repository : Repository Group은 몇 개의 repository를 하나의 repository로 묶어서 단일 접근 URL을 제공한다.
▶ 저장소 그룹
- 넥서스에 설정한 저장소 그룹이다.
- 프로젝트가 진행되면서 의존관계에 있는 라이브러리가 증가하면서, 외부 저장소도 증가하는데, 이 저장소 그룹에다 추가되는 외부 저장소를 추가하면 메이븐의 설정파일 변경 없이 의존 관계를 확장할 수 있다.
▶ 넥서스 다운로드 및 설치
- 다음 싸이트에서 다운로드
https://www.sonatype.com/download-oss-sonatype
- wget을 통해서도 가능
# wget http://www.sonatype.org/downloads/nexus-latest-bundle.tar.gz --no-check-certificate
- 설치
# tar xvfz nexus-latest-bundle.tar.gz
# rpm -i nexus-2.14.8-01
※ 나같은 경우 8081포트를 이미 사용하고 있어서 8082로 수정.
# cd /root/lib/nexus-2.14.8-01/conf
# vi nexus.properties
- 방화벽 오픈
firewall-cmd --permanent --zone=public --add-port=8082/tcp
firewall-cmd --reload
firewall-cmd --permanent --list-all
※ Nexus를 root로 실행하는 것이 권장되지 않으므로 다른 계정을 만들거나 편집해서 root 계정으로도 실행 가능하게 한다.
- bin 폴더의 nexus 파일 편집
# vi nexus
- Nexus파일을 열어 RUN_AS_USER부분의 주석을 풀고 root을 넣어주면 실행이 가능하다.
▶ 서비스 등록해서 자동 실행 시키기
# cp nexus /etc/init.d/nexus
# vi /etc/init.d/nexus
▶ home 디렉토리 설정 하여 준다.
# 나와 같은 경우는 /usr/local 에서 다 관리한다.
NEXUS_HOME="/usr/local/nexus-2.14.8-01"
PIDDIR="/usr/local"
- 등록 완료
- 서비스 실행하여 준다.
#service nexus start
에러 발생!!
- 자바경로를 못찾는다. 내 자바 경로는
#which java
#/usr/local/java/bin/java
- 폴더 이동
#cd /usr/local/nexus-2.14.8-01/bin/jsw/conf
- wrapper.conf파일 수정
# vi wrapper.conf
- 다음과 같이 되어 있는 항목이 있는데 java를 내 자바가 설치된 경로로 다음과 같이 바꿔주면 된다.
# wrapper.java.command=java
# wrapper.java.command=/usr/local/java/bin/java
- 다시 서비스 실행하여 준다.
#service nexus start
- 서비스 확인
# ps -ef | grep nexus | grep -v grep
- http://도메인:8082/nexus 접속
- 잘뜬다.
끝!!!