본문 바로가기

오픈소스/스프링

[Spring] Nexus Role 생성, User 생성, Repository 생성

 

 많은 SI 회사에서는 넥서스를 이용하여 레파지토리를 관리하고 있을 것입니다. 회사만의 소스코드의 보안과 유지보수를 하기 위해 많이 nexus를 이용하고 있는데요. 특히 maven에서 사용하는 사설 레파지토리라고 많이 알고 있는 넥서스를 설치했다고 가정하고, 규칙과 유저 생성 및 레파지토리를 생성하도록 하겠습니다. 레파지토리를 건드리는 만큼 기본적인 저장소의 종류에 대해 간략하게 소개하도록 하겠습니다. 아래 내용을 참고해주세요.

 

저장소 종류

 

  • 프록시 저장소 : 프록시 저장소는 메이븐 중앙 저장소등 원격지에 있는 저장소를 미러링한다.
  • 호스트 저장소 : 기업용 사설 저장소, 업로드는 호스트 저장소만 가능하다.
  • 가상저장소 : 다른 유형의 저장소의 아답터로 동작한다.
  • 그룹저장소 : 여러종류의 저장소를 논리적으로 묶어 하나의 저장소처럼 사용할 수 있는 기능

 

본격적으로 규칙과 유저생성 및 레파지토리를 생성해보도록 하겠습니다.

 

 

# Contents


  • Role 생성
  • User 생성
  • Repository 생성

 

# Role 생성


 먼저 관리자로 로그인 한 상태를 가정하고 진행하도록 하겠습니다. 

 관리자 초기 설정값은 아이디는 admin 이며 비밀번호는 admin123 입니다.

 모르시는 경우에 대비해서 https://www.lesstif.com/software-architect/nexus-admin-password-reset-14745694.html 를 참고해주시기 바랍니다.

 

nexus admin password reset - 넥서스 관리자 암호 초기화

 

www.lesstif.com

 

먼저 Roles 탭에 create Roles 를 선택해주세요.

 

 

 

그리고 아래와 같이 정의합니다. Role ID, Role name, Privileges

 

 

 

 규칙 ID와 이름을 정의하고 규칙에 권한을 부여하고 저장을 하게 되면 완료됩니다. 이 규칙을 사용하는 유저들은 다음과 같은 권한을 갖게 되는 것입니다.

 

 다음은 유저를 생성하는 방법을 알아보겠습니다.

 

 

# User 생성


 유저를 생성하는 이유는 각각의 레파지토리 마다 사용하는 유저를 정의할 수 있습니다. 따라서 유저마다 규칙도 다를 수 있고 레파지토리도 다르기 때문에 필요한 부분만 정의할 수 있기 때문에 사용하는 것입니다.

 

먼저 Users 탭에 create local user 를 선택해주세요.

 

 

 

그리고 아래와 같이 정의합니다. 

 

 

 각각의 항목을 입력한 후 Roles 폼 데이터 쪽에 아까 만들었던 Role 을 추가하도록 하겠습니다.

 이렇게 항목들을 다 입력한 후 저장하게 되면 유저가 생성되고 생성된 유저로 로그인할 수 있게 됩니다.

 

 다음은 레파지토리를 생성하는 방법에 대해 알아보도록 하겠습니다.

 

 

# Repository 생성


 마지막 레파지토리를 생성하는 단계입니다. 규칙을 만든 것도 유저를 만든 것 또한 레파지토리를 위해 만들었습니다. 레파지토리를 생성하는 레파지토리는 총 4가지가 있습니다. 호스트 저장소인 snapshot, release 와 프록시 저장소, 그룹 저장소를 만들어 보도록 하겠습니다. 각각의 차이는 위에 설명했던 내용을 참고해주세요.

 

먼저 Repository 에 Repositories 를 들어가도록 하겠습니다.

 

 

 

그리고 아래와 같이 Create repository를 클릭합니다.

 

 

그리고 아래와 같이 maven2(hosted)를 클릭합니다.

 

 

 

Release를 생성하도록 하겠습니다.

각각의 항목들을 적어주시고, respository의 타입을 Release로 변경하여 저장해주시기 바랍니다.

 

 

 

 똑같이 Create Repository - maven2(hosted)를 클릭합니다.

 그리고 아래와 같이 Snapshot 을 생성합니다.

 여기도 마찬가지로 각각의 항복을 아래 그림과 비슷하게 적어주시고, repository type은 Snapshot으로 정의합니다.

 

 

 

그리고 아래와 같이 maven2(proxy)를 클릭합니다.

 

 

 

 그리고 아래와 같이 Proxy 을 생성합니다.

 여기도 마찬가지로 각각의 항복을 아래 그림과 비슷하게 적어주시고, repository type은 Mixed으로 정의합니다.

 원격 저장소의 주소는 다음과 같습니다. https://repo.maven.apache.org/maven2/

 

 

 

마지막으로 아래와 같이 maven2(group)를 클릭합니다.

 

 

 

 그리고 아래와 같이 Group 을 생성합니다.

 생성했던 레파지토리들을 추가하여 등록해주면 완료됩니다.