DevOps/Nexus

[Nexus] repository maven hosted 생성 방법

cob 2024. 3. 1. 14:05

 

 

repository를 생성하 위해서는 데이터를 저장할 Blob store부터 생성해 줘야 한다.

 

 


1. Blob Store 생성

데이터를 저장하는 데 사용되는 기본 데이터 저장소로, sonatype-work의 하위 디렉터리와 생성된다. 

[톱니바퀴] -> [Blob Stores] -> [Create Blob Store] 클릭

Blob stores

 

Create Blob Store

  • Type : 외부 저장소(S3)를 사용할게 아니기 때문에  File 선택
  • Path : 데이터가 실제 저장되는 위치

 

 

2. Repository 생성

2-1) [톱니바퀴] -> [Respositoryes] -> [Create repository] 클릭

Respositoryes

 

2-2) [maven2 (hosted)] 클릭

  • Hosted 
    - 로컬에서 호스트(다운로드/업로드)되는 아티팩트 저장소
    - 일반적으로 내부적으로 사용되는 아티팩트나 회사의 고유 라이브러리를 저장하는데 사용된다.
  • Group 
    - 여러 호스트된 또는 프록시된 리포지터리를 하나로 묶어서 단일 진입점을 제공한다.
    - 그룹으로 묶어 하나의 리포지터리 처럼 사용할 수 있다.
  • Proxy 
    - 원격 Maven 리포지터리의 캐싱 및 중계 역할을 한다.
    - Maven 클라이언트가 Maven 중앙 저장소 또는 기타 원격 저장소에서 아티팩트를 요청할 때, Nexus는 요청된 아티팩트를 캐싱하고 나중에 동일한 요청에 대한 응답으로 사용한다. 이는 빌드 속도를 높이고 네트워크 대역폭을 절약하는 데 도움이 된다.

 

 

2-3) [아래 빨간 항목들을 작성] -> [Create repository]

Respositories 설정

  • Name : 리포지터리 이름을 설정하지만, 기본 적으로 구분할 수 있게 뒤에 snapshot / release를 붙여서 생성한다.
  • Version Pollcy 
    - Releese : 릴리즈를 통해서 배포되는 저장소
    - Snapshot : 개발 버전으로 build 시 배포되는 저장소

    - Mixed : 두 개다 배포되는 저장소
  • Blob store : 위에서 생성한 데이터 저장소를 선택한다.

 

 


3. 계정 생성 및 권한 부여

생성한 리포지터리를 사용하기 위한 계정과 그에 맞는 권한을 부여한다.

 

3-1) 권한 생성

[Roles] -> [Create Role]

Role 생성

 

[Type] 선택 -> [Role ID] 작성 -> [Role Name] 작성 -> [Privileges] 권한 부여 -> [save]

  • 생성한 리포지토리 이름을 검색해 해당하는 모든 권한을 선택해 Given으로 집어넣는다.

 

 

3-2) 사용자 생성

Users 생성

 

 

Role 적용

  • Roles 항목에서 내가 생성한 권한을 Granted에 넣는다.

 

끝!!!!

반응형