2016-09-22 56 views
4

받는다는 멀티 모듈 프로젝트에 서브 모듈에 대한 파이프 라인을 트리거하는 방법 :GitLab CI 나는 다중 모듈 Maven 프로젝트가

root 
    SubmoduleA 
     src 
     pom.xml  
    SubmoduleB 
     src 
     pom.xml 
    pom.xml 
    .gitlab-ci.yml 

누군가가에서 확인할 때 난 단지 SubmoduleA에 CI 파이프 라인을 실행할 수있는 방법이 있나요 SubmoduleA에만 영향을 미치는 코드? 예를 들어, 누군가 SubmoduleA에서 변경합니다. 일단 커밋하고 밀어 넣으면 SubmoduleB에 변경 사항이 없으므로 SubmoduleA에서만 빌드 -> 테스트 -> 배포를 자동으로 실행하려고합니다.

repo 내의 특정 하위 모듈 또는 하위 프로젝트에 대한 트리거 및 작업을 지정하는 방법이 있습니까?

답변

2

나는 당신이 그 서브 모듈을위한 gitlab 프로젝트를 만들 필요가 있다고 믿고 그 서브 모듈은 그것 자신의 .gitlab-ci.yml을 필요로한다. 그 시점에서 그것은 gitlab-ci-runner 내부에서 구축 될 것입니다.

저는 Maven (또는 Java)의 전문가는 아니지만 더 큰 프로젝트에서는 서브 모듈이 자체 저장소에 저장된 개별 바이너리 빌드 라이브러리가 될 수 있다고 상상합니다. 빌드에서 jar를 생성하고 사용하며 Maven 자체를 사용하여 jar를 제공합니다. Maven은 빌트인 종속성 해결 및 패키지 가져 오기 기능을 사용하여 다운로드 할 수 있으며 git 서브 모듈보다 대규모 Java 프로젝트 빌드 시나리오에서 더 나을 것이 좋습니다.

사용자 정의 너겟 피드가있는 .Net 세계에서 지금 당장이 작업을 수행합니다. 결과는 사용자가 수행하는 작업과 비슷합니다. 빌드가 발생하고 빌드 서버의 리소스가 소스 포함 및 재 컴파일로 낭비되지 않습니다. 그 두 번째 모듈.