나는 최상위 레벨의 maven 프로젝트를 포함하고있는 Git 저장소를 가지고있다. (각각은 자신의 서브 디렉토리에 pom.xml로있다.) 여기서 최상위 수준은이 프로젝트가 저장소 루트 바로 아래의 하위 디렉토리에 있음을 의미합니다. 이 모든 프로젝트는 동일한 Git 저장소에 남아 있어야합니다.Jenkins : git 저장소에서 최상위 프로젝트를 여러 개 만드는 방법은 무엇입니까?
repo
+--- projectA
+--- pom.xml
+--- projectB
+--- pom.xml
이들은 독립적 인 젠킨스 작업으로 만들거나 할 수 있습니다. 그래서 우리는 projectA와 projectB를위한 직업을 가지고 있습니다.
이전에는 Subversion을 사용하여 프로젝트 소스 만 체크 아웃하고 pom.xml에서 Maven 빌드를 실행하는 Jenkins 작업 (각 프로젝트마다)을 설정할 수있었습니다.
Git 모델 (아마도 모든 DVCS와 동일 함)이 변경되어 모범 사례가 확실하지 않습니다. 내가보고있는 것도에서 내가 정말 좋아하는 몇 가지 옵션이 있습니다 :
- 각 젠킨스 작업을 복제하는 configured이다가/전체 망할 놈의 repo를 끌어 는 메이븐 빌드의 /pom.xml을 의미합니다. 따라서 작업 에는 모든 코드가 있지만 슬라이스 만 빌드됩니다.
- 는 힘내 하는 것 (http://book.git-scm.com/5_submodules.html)를 처리 할 수 까다로운 비트 수 (쉽게 깰 수)
- 가 (프로젝트가 모두 포함 게이터) 각 프로젝트 빌드 트리거 프로젝트 받는다는 부모 만들기 (갖는 서브 모듈을 제공합니다 단일 젠킨스 직업). 이 pom.xml에는 projectA 및 projectB의 요소가 포함되어 있습니다.
더 많은 유용한 접근 방식이 있습니다 (일반적인 설정). 당신의 경험은 무엇입니까? 모범 사례?
Subversion과 비교했을 때, Git이 repo의 하위 프로젝트를 체크 아웃 할 능력이없는 martin.ahrer와 매우 동의합니다. 이는 제한적인 요소입니다. 나는이 질문에 대한 멋진 대답이 될 것이다. – djangofan