2014-02-13 4 views
0

로컬 컴퓨터의 .m2 폴더를 리포지토리로 만들어 다른 팀 구성원이 내 리포지토리를 사용하여 다른 곳에서 확인하지 않고 내 종속성을 얻을 수 있도록 할 수 있습니까? 나는 http://www.sonatype.org/nexus/go을 보았지만 모든 의존성을 수동으로 업로드해야합니다.내 로컬 .m2 폴더를 리포지토리로 만들기

.m2 폴더 (일부 컴퓨터)에서 다른 사람이 사용할 수 있도록 메이븐 저장소를 만들 수 있습니까?

+1

아니요, 수동으로 종속성을 업로드 할 필요는 없습니다. 이것은 정확하게 maven이 수행하는 작업입니다. Nexus Sonatype 또는 Artifactory와 같은 자체 레포를 호스팅하고 팀원에게 레포에 대한 액세스 권한을 부여해야합니다. – grozandrei

+0

결정의 이유를 설명 할 수 있습니까? 이는 일반적인 시나리오는 아니며 Artifactory 또는 Nexus를 사용하여 동일한 결과를 얻는 더 쉽고 쉬운 방법이 있습니다. 다른 사람들이 지적한 것처럼 – Vadimo

+0

사실 나는 모든 의존성이'.m2' 폴더에 존재하는 컴퓨터를 가지고 있습니다. (젠킨스가 빌드 될 때 모두 다운로드되었습니다.) 그래서 지금 다른 팀원들이 프로젝트에서 체크인 할 때, 외부로부터 의존성을 다운로드하는 대신, 모든 머신을 원합니다. 이 서버 컴퓨터의 모든 종속성을 먼저 얻은 다음 여기에서 찾지 못하면 외부에서 얻으려고 시도해야합니다. 내 질문이 있습니까? –

답변

1

로컬 저장소의 중요한 점은 안정적이라는 것입니다. 공유 드라이브에 넣을 경우 팀원 중 한 명이 팀을 구성 할 때마다 나머지 팀에서 볼 수있는 인공물이 바뀔 것입니다. 즉 개발이 진행되는 동안 개발 중에 도입되는 버그가 악몽이 될 수 있습니다. 한 사람에게 고립되는 것이 아니라 팀 전체에 즉각적인 영향을 미칩니다 (여기에는 복수의 유물이 있고 mvn install으로 빌드한다는 가정이 있습니다).

올바른 방법은 공개 Maven repos를 프록시하는 repo를 설정하는 것입니다. NexusArtifactory은 모두이 작업을 수행하도록 설정되어 있으며 Windows 또는 Unix에서 설치하기가 매우 쉽습니다. 프록시 기능은 팀이 생성 한 아티팩트 만 포함 할 필요가 있으며 리포지토리는 필요에 따라 공용 아티스트에서 다른 아티팩트를 검색합니다 (나중에 사용할 수 있도록 저장하는 경우가 많음).

+0

사실 Jenkins를 사용하고 있습니다. 사람 A가 3 가지 종속성이 필요한 코드를 체크인한다고 가정 해 봅시다. Jenkins가 내 서버를 빌드 한 후 관련 종속성이 서버의 Repo에 있습니다. 이제 팀의 다른 사람들이 프로젝트를 빌드 할 때 서버의 저장소에서 가져온 종속성을 얻고 사용할 수 있으므로 외부에서 이러한 새로운 종속성을 다시 다운로드 할 필요가 없습니다. 내 요점은? –

+0

예, 팀원이 체크인하기 전에 팀을 로컬로 구축해야하며 Jenkins 빌드가 실행되어야한다고 가정합니다. 최종선은 해킹하려고하지 말고 일을 '적절하게'설정합니다. 이는 내부 저장소를 설치한다는 의미입니다. 무료이며 10 분 안에 설정할 수 있습니다. –

관련 문제