Internal Repository
Private remote internal repository 은 내부(사내) 저장소라고 합니다.
프로젝트 개발시 모든 구성원이 중앙 저장소로부터 필요한 라이브러리를 다운로드 할 수 있지만, 구성원간에 공유해야 하는 별도의 리소스를 공유, 관리하기 위해 사내 저장소가 필요합니다.
사내 저장소 구성을 위해 Nexus, Artifactory 등의 OSS 를 이용할 수 있습니다. 둘 중 대세인 Nexus 를 사용해 보겠습니다.
Nexus site : http://www.sonatype.org/nexus
Nexus 설치 안내
대략적인 Nexus 로의 배포 시나리오는 다음과 같습니다.
- 누군가 Nexus에 라이브러리를 등록할 수 있도록 별도의 계정 생성.
- 로컬 저장소에서 mvn deploy 시 배포될 Nexus 주소/계정 정보 등록.
- Nexus로 배포
1. 사용할 계정 생성
Nexus 사이트에 admin 계정으로 로그인하여 [Security] - [Users] - [Add...] 항목을 클릭한 후 새 계정을 생성합니다.
아니면 기존 생성된 user의 패스워드만 변경하여 사용해도 됩니다. (항목에서 마우스 우측버튼 클릭)
2. 계정 정보 삽입
Nexus 에 접속할 수 있는 계정 정보를 로컬 저장소의 settings.xml 파일에 삽입합니다.
$ vi ~/.m2/settings.xml
<servers>
<server>
<id>nexus</id>
<username>deployment</username>
<password>[password]</password>
</server>
</servers>
3. 배포 정보 삽입
배포할 nexus 의 저장소 정보를 프로젝트의 pom.xml 파일에 삽입합니다.
$ vi <project_home>/pom.xml
<distributionManagement>
<repository>
<id>nexus</id>
<name>Internal Releases</name>
<url>http://domain.com:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<name>Internal Releases</name>
<url>http://domain.com:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
4. 배포
$ mvn deploy
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.