2010-01-12 5 views
5

우리는 Java 프로젝트를 빌드 할 때 Gradle을 사용합니다. 현재는 타사 아티팩트를 저장하고 자체 아티팩트를 게시하는 Ivy 리포지토리가 있습니다 (repo는 Gant 스크립트와 Ivy ANT 작업을 사용하여 빌드 됨). 레포 관리는 기본적입니다.
Gradle도 Maven Repo와 함께 작업 할 수 있으므로 Archiva 나 Nexus와 같은 Maven 아티팩트 관리자로 전환하는 것은 옵션이지만, 아마도 불필요한 경우 일 수 있습니다. Ivy repos를 구축하고 유지하는 데 도움이되는 도구 나 모범 사례를 알고 있습니까?아이비 리포지토리를위한 모범 사례 또는 도구는 무엇입니까?

우리는 이미 튜토리얼 등을 읽고이를 수행하는 방법을 이해했지만 여전히 유지 관리하는 것이 기본입니다.

+0

질문은 명확하지 않습니다, IMO. –

+0

실제로 질문 제목을 변경했습니다. –

답변

6

과거에는 FTP 사이트와 같은 간단한 저수준 프로토콜을 사용하여 작은 개인 저장소에 아티팩트를 게시 할 때만 아이비 리포지토리를 사용했습니다. 저장소 인프라를 기반으로

받는다는가 대안을 촉진하기 위해 거의 무의미, 그것을 사용하는 몇 가지 많은 프로젝트와 함께, 지금은 그렇게 널리 보급되어있다 (모든 사이트가 필요는 버전 디렉토리 레이아웃과 arifacts 설명하는 ivy.xml 파일입니다) 저장소 관리 표준.

Sonatype (Maven 뒤의 회사)은 누구나 이용할 수있는 저장소 제품 인 Nexus를 관리하기 때문에 Maven Central에 대한 대역폭 요구 사항을 제어하기 때문에 유용합니다.

고맙게도 아이비는 Maven과 잘 어울리 며 두 세계에서 최고의 성능을 활용할 수 있습니다.

0

제 의견으로는 이 단지에서 작동하기 때문에 Ivy의 저장소가별로 없습니다. Ivy의 Ant 태스크로 할 수없는 일은 파일 시스템에서 직접 할 수있는 간단한 작업입니다.

물론 인공물 이름을 변경하는 것과 같이 어려울 수 있지만 다시는 어쨌든해서는 안됩니다.

+1

대부분의 라이브러리에서 ivy.xml 설명자가 제공되지 않는다는 사실을 어떻게 처리합니까? 쓰기, 메이븐에서 변환하고 cruft 떨어져 스트립 ... 나는 내가하지 않아야하는 동안 유물을 유지하는 시간을 낭비하고있는 느낌이있다 –

+0

우리는 일반적으로 Maven * (가능하다면)에서베이스를 변환한다 *, 그것이 충분히 좋은지 보아라. 필요한 경우 조정하십시오. 보통 Maven 기반은보아야 할 여분의 의존성을 가지고 있지만 생성 된 기본 아티팩트는 지금까지 제대로 작동했다. – Esko

1

my Ivy repository layout and choices에 대한 블로그 항목을 만들었습니다. 당신은 다른 요구 사항을 가지고 있을지 모르지만, 나는 다른 아이디어를 얻기 위해 다른 솔루션을 점검하는 것이 항상 좋은 것이라고 생각합니다. ...

1

공통 프로젝트에 대한 일관된 최신 ivy repo를 빌드하는 것을 목표로하는 Ivy Roundup이라는 커뮤니티 프로젝트가 있습니다. 타사 라이브러리. 거기에 사용 된 명명 규칙을 일치 시키거나 심지어 더 나은 것을 얻으려면 <ivy:install> task을 사용하여 모듈을 가져 오는 것이 좋습니다.

0

타사 라이브러리가 필요할 때 일반적으로 실제로 수행하는 작업은 MVN repository에서 검색 한 다음 "ivy"탭을 클릭하여 내 ivy.xml에 대한 Ivy 종속성을 얻는 것입니다.