...
Scroll ignore |
---|
저장소 소개
이번 장에 들어가기 앞서 몇 가지 용어를 정리해 보자. 소프트웨어 저장소(Software Repository) 는 패키지 관리자(Package Manager) 가 의존성 있는 패키지를 다운로드할수 있는 공간을 의미하며 일반적으로 온라인으로 서비스를 제공한다.
아티팩트(artifact)
아티팩트는 소프트웨어 개발 프로젝트를 진행하면서 생성하는 다양한 산출물을 의미한다. 각종 설계 문서, 유즈 케이스, UML 다이어그램, 소스 코드, 소스를 빌드하여 생성된 라이브러리나 실행 파일도 모두 아티팩트에 속한다.
...
아티팩트 저장소(artifact repository) 는 간단하게 저장소라고 하며 이번 장에서 의미하는 저장소는 아티팩트 저장소이다.
저장소의 필요성
저장소가 없던 시절의 프로젝트를 생각해 보자. 프로젝트 빌드는 ant 를 사용하였고 ant 는 저장소 관련 기능이 없으므로 프로젝트에 필요한 라이브러리는 CVS나 서브버전에 라이브러리용 폴더(예: lib)를 만들고 커밋하여 관리를 했다.
...
또 JDBC나 기타 라이브러리는 메이븐 중앙 저장소와 별도의 저장소를 제공하는 경우가 있으므로 따로 저장소를 지정하지 않으면 빌드가 실패하는 원인이 되기도 한다.
저장소 구조
저장소에 추가된 아티팩트는 디렉터리나 자바의 패키지처럼 계층적인 구조로 접근할 수 있다. 이 계층적 구조를 GAV(Group, Artifact, Version) 구조라고 하며 메이븐에서 의존성을 찾을 때 참고하는 구조이기도 하다.
...
Packaging(packaging)
메이븐을 빌드 도구로 사용할 경우 기본 패키지 형식은 JAR 파일이지만 저장소에 아티팩트 등록시 명시적으로 패키지 형식을 알려주어야 한다. 사용 가능한 패키지 형식은 JAR, ZIP, WAR, WAR, SWC 등이다.
릴리스와 스냅샷 저장소(Release and Snapshot Repositories)
프로젝트에서 공통으로 사용되는 라이브러리를 개발하는 별도의 프로젝트가 있다고 가정해 보자.
...
보통 스냅샷 아티팩트는 구분을 위해 my-artifact-1.2.3-20140506.162341-1.jar 처럼 타입스탬프가 파일명에 추가된다.
저장소 관리자(Repository Manager)
저장소 관리자는 저장소의 기능 및 관리자 기능을 제공하는 소프트웨어를 의미하며 아티팩트를 저장/관리하고 컴포넌트의 생명주기를 관리하기 위한 용도로 사용된다.
...
이 책에서는 가장 많이 사용하는 넥서스 저장소 관리자에 대해서 다룰 것이다.
참고 자료
- http://www.sonatype.com/nexus/why-nexus/why-use-a-repo-manager
- http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix
- https://weblogs.java.net/blog/johnsmart/archive/2010/01/03/tale-two-repository-managers-nexus-and-artifactory-compared-and-co
하위 페이지
Child pages (Children Display) | ||
---|---|---|
|