Nexus는 Maven repository manager로 프로젝트 또는 기업에서 필요로 하는 내부 리포지토리 구성을 위한 도구이다.
Sonatype Nexus 사이트에서 war 패키징된 오픈소스 배포 파일을 다운로드 받는다.
- http://nexus.sonatype.org/downloads/
내려 받은 nexus-webapp-1.3.3.war 설치 파일을 대상 WAS에 배포 한다.
Context Root를 nexus로 설정하기 위하여 war 파일의 이름을 nexus.war 파일로 변경한다.
Nexus 메인 화면
Maven 로컬 리포지토리 settings.xml 파일 수정
Maven 설정 파일인 settings.xml 파일의 <servers> 및 <mirrors> 부분에 Nexus 연결 설정을 추가한다.
<servers> Tag - 특정 서버에 접속하기 위한 인증 정보들의 list
<username>deployment</username>
<password>**********</password>
<url>http://[domain]:[port]/nexus/content/repositories/releases/</url>
<mirrorOf>public-snapshots</mirrorOf>
<url>http://[domain]:[port]/nexus/content/groups/public-snapshots/</url>
✔ Nexus를 설치한 경로로 URL 설정을 바꾸어 준다.
프로젝트 pom.xml 파일의 <distributionManagement> 파트 설정
생성한 패키지(war, jar 등)를 배포하기 위한 대상 서버를 정의한다.
<!-- use the following if you're not using a snapshot version. -->
<url>http://[domain]:[port]/nexus/content/repositories/releases/</url>
<!-- use the following if you ARE using a snapshot version. -->
<url>http://[domain]:[port]/nexus/content/repositories/snapshots/</url>
✔ Nexus를 설치한 경로로 URL 설정을 바꾸어 준다.
인터넷 브라우저를 통해 설치한 Nexus의 웹 화면을 열고 오른쪽 상단의 Log in 링크를 클릭한다.
기본 세팅은 admin/admin123으로 하나의 계정만을 제공하고 있으며 접속한 후 보안 설정을 통해 비밀번호 변경 작업을 수행한다.
Admin 계정으로 접속하여 좌측의 security 메뉴에서 제공하는 users, roles 그리고 privilege 메뉴를
Nexus는 다수의 central repository들을 관리할 수 있으며 Proxy 개념을 통해 개발자들에게 보다 쉬운 repository
3.1 메뉴의 Add 버튼을 클릭하고 Proxy 리포지토리를 선택한다.
3.2 추가할 repository의 설정값을 입력한다.
- 대표적인 Maven Central Repository들 중의 하나로 ibiblio 리포지토리를 등록한다.
프로젝트에서 사용하는 3rd party 라이브러리들이나 프로젝트에서 생성한 war, jar 등의 패키징된 Maven artifact들을
3rd party 리포지토리 선택 후 오른쪽 마우스 메뉴의 Upload Artifact 메뉴를 선택한다.
4.2 Upload 하고자 하는 artifact 파일 및 pom.xml 파일을 설정한다.
Browser 버튼 클릭을 통해 개발자 PC에 위치한 upload할 파일을 탐색하여 지정할 수 있다.
개발자의 Maven 로컬 리포지토리에서 Nexus에 배포하고자 하는 artifact 파일 및 pom.xml 파일을 선택한다.
리포지토리 브라우징을 통해 새로 등록된 artifact을 확인한다.
5. Dependency 설정을 위한 artifact의 pom.xml 확인하기
3rd party 또는 프로젝트에서 생성한 artifact를 프로젝트에서 설정하기 위해서는 pom.xml에 dependency 정보를
설정해 주어야 한다. 설정할 artifact의 dependency 정보를 nexus 브라우징을 통해 확인할 수 있다.
예) jeus artifact를 사용하기 위한 depencey 정보 확인하기
5.1. 3rd party 리포지토리를 선택 후 content 화면에서 jeus 디렉토리의 jeus-6.0.pom 파일을 선택한다.
5.2. 오른쪽 마우스 클릭 후 download 메뉴를 선택하여 dependency 정보를 확인한다.
확인한 pom.xml 파일의 정보를 복사/붙여넣기를 통해 프로젝트의 pom.xml 파일에 선언하여 jeus 라이브러리를 사용한다.
Central Repository에서 다운로딩한 artifact들의 관리
개발자가 요청하는 artifact들을 Central Repository에서 Cache하여 Nexus 리포지토리에서 관리한다.
프로젝트 내의 각 파트에서 생성한 maven artifact들을 nexus에 배포하고 다른 파트에서 배포된 artifact들을
✔ Nexus에 '3rd Party'라는 임의의 repository를 추가하고 전자정부 표준프레임워크에서 개발한 산출물들을 이 repository에 배포하고
개발 시에 dependency로 참조하여 사용하였다.
Nexus: Maven Repository Manager
출처 - http://www.egovframe.org/wiki/doku.php?id=egovframework:dev:dep:nexus
'IDE & Build > Maven' 카테고리의 다른 글
Maven - Dependency 검색이 안 될 때 (0) | 2012.06.08 |
---|---|
maven - war 파일 배포 (0) | 2012.05.07 |
Maven : missing artifact (0) | 2012.03.28 |
Maven 설치 3_repository 설정 (0) | 2012.03.25 |
Maven 설치 2 (0) | 2012.03.25 |