우리는 소스 제어에 SVN, 종속성 관리에 Apache Ivy를 사용하는 Java 캠프이지만이 질문은 모든 플랫폼/언어, SCM 및 아티팩트 저장소 도구에 광범위하게 적용됩니다.버전 관리 및 아티팩트 저장소 동기화
내 테크 리드와 나는 아이비와 같은 의존성 관리자를 사용하여 우리 회사의 모든 JAR를 관리하는 첫 걸음을 섰습니다. 우리는 "Ivy Repo"이라고 부르는 것을 설정했습니다. 여기에는 사내 (개발 된 JAR) JAR과 일반적으로 재사용되는 종속성 (Apache JAR, Spring 등)을 모두 수용하는 곳이 있습니다.
우리는 코드 변경 사항이 코드 검토되고 SVN에 위탁되어 빌드되기 전에 개발자가 사내 Commons JAR (Commons.jar
)을 변경하고 <ivy:publish>
을 실행해야하는 문제에 부딪치기 시작했습니다 CI 서버. 이는 개발자가 하나의 프로젝트에서 버그 수정이나 새로운 기능을 사용하지만 작업을 완료하기 위해 Commons.jar와 같은 종속성을 수정해야 할 때 발생합니다.
그래서 우리는 아이비와 SVN이 서로 동기화되지 않은 상황에 처해 있습니다.
분명히 코드를 검토하고 커밋하고 팀과 코드를 테스트하지 않고 아무도 게시 할 수없는 규칙을 만들 수 있습니다. 또는 개발자가 모두 게시하지 못하게 할 수 있습니다.
두 경로 중 하나를 건너 뛰기 전에 (우리는 후자쪽으로 기울고 있습니다), 다른 팀이 동일한 문제를 경험했는지 그리고이를 방지하기 위해 어떤 해결책이 구현되었는지 궁금합니다.
아마도 Artifactory 또는 SonaType과 같은 도구를 살펴볼 가치가 있지만 우리 중 누구도 이러한 경험이 없으며 이러한 종류의 비즈니스 규칙을 지원하는 것처럼 보이지 않습니다. 한마디로
: 그 출판사는 항상 우리의 표준 code
>>review
>>commit
>>CI
>>deploy
주기에서 마지막 단계입니다, 그래서 우리는 조기 JAR 게시를 방지 할 수있는 방법을 찾고 있습니다.
미리 감사드립니다.
감사합니다. noamt - Artifactory 같은 소리가 들립니다. – IAmYourFaja