JULY 16, 2018 6
Nexus 3.0 이란?
다양한 형태의 사설 저장소를 만들고 운용할 수 있는 서비스를 제공합니다.
2.x 버전에서는 Maven 저장소로 주로 사용하였지만, 3.0 버전부터는 npm, docker 등 지원하는 포맷이 대폭 확장되었습니다. 2.x 버전과 호환이 보장되지 않기 때문에 2.x 버전에서 3.x버전으로 업그레이드를 고려한다면 관련 레퍼런스의 참고가 필요합니다.
Nexus Repository 종류
- Proxy -> 외부의 메이븐 공개 저장소에대한 프록시 역할 : 원격에 원본 Repository가 있는 경우 Local 에 캐시용도로 사용
- Release -> 같은버전을 한번만 배포 가능 : 정식 릴리즈를 통해 배포되는 바이너리를 저장
- Snapshots -> 같은버전 여러번 배포 가능 : 빌드 등 수시로 릴리즈 되는 바이너리를 배포하는장소
- Hosted -> 사내에서 사용하는 라이브러리 저장소
- Group -> 여러 Repositry를 묶어서 단일접근 URL을 제공 : 그룹에 저장소를 나열하는 순서가 그룹 라이브러리 탐색의 우선순위가 됨
! 기본적으로 세팅되어있는 Repository 입니다.
설정과정
Step 1.
(AWS) Jenkins 서버에서 Nexus 서버로 접근이 가능하도록 보안그룹을 설정합니다.
! Build는 Jenkins 서버에서 하기 때문입니다.
Step 2.
- Public Maven Repositroy가 아닌 사내 Nexus에서 라이브러리를 받도록 build.gradle 파일을수정합니다.
: mavenCentral 대신 회사가 관리하는 Nexus의 URL로 지정합니다. (Private IP)
! Url 지정시 앞에 http:// 를 추가하지 않으면 안됩니다.
! Local 환경에서 확인하려면 Public IP로 확인해야합니다.
(Jenkins에서만 Private IP 접근이 가능하도록 설정되어있음)
Step 3.
- Nexus에 사내 라이브러리 업로드: 2가지 방법이 존재합니다.A. Gradle에서 설정B. Jenkins에서 설정
필자는 Gradle에서 설정하였습니다. Jenkins에서 설정은 Jenkins Nexus Plugin을 설치하여야합니다.
- build.gradle
: Nexus에 업로드하는 스크립트를 추가후 Gradle 탭에서 Upload Task를 실행하면 업로드가 완료됩니다.
- Releases repository 업로드 확인
: Nexus Release Repository에 업로드가 된 것을 확인할 수 있습니다.
이상으로 포스팅을 마칩니다.
다음에 더 좋은 내용으로 만나요~
By RyanKim (Overnodes Devloper)
'Infra' 카테고리의 다른 글
[Rancher] Rancher 모든 Docker container 재구축 방법 (0) | 2020.05.18 |
---|---|
(AWS/CloudWatch) EC2 인스턴스 디스크 사용량 알림/모니터링 구현 (3) | 2020.02.28 |
(APM/Newrelic/Spring) Spring App 모니터링 적용2 - Newrelic Alert (0) | 2019.09.11 |
(APM/Newrelic/Spring) Spring App 모니터링 적용 - Newrelic (0) | 2019.09.11 |
댓글