쑥로그

빗버킷 한 레파지토리에서 디렉토리 서브 프로젝트 별로 따로 빌드하기 본문

프로그래밍

빗버킷 한 레파지토리에서 디렉토리 서브 프로젝트 별로 따로 빌드하기

SOOOOOK 2019. 9. 4. 20:49

이 설정을 하면서 가장 어려웠던 점은

서브 프로젝트들이 한 레파지토리에 있었기 때문에

 

1. 빗버킷 커밋을 하면 모든 서브 프로젝트들이 한 푸쉬를 받는 다는 것

2. 한 레파지토리를 서브 프로젝트 아이템들이 전부 받게 된다는 것(불필요하게)

 

였다.

 

기존 소스가 그렇게 되어있기도 해서 레파지토리를 따로 파야하나 싶었다. 각 서브 프로젝트별로 나누려고 하다보니

공통 모듈들이 또 각 서브프로젝트 레파지토리에 전부 들어가게 생겼다.

이걸 또 빼서 의존성을 주자니 기존 소스를 많이 안건드리고 싶었다.

그래서 젠킨스에서 어떻게든 해주지 않을까 하고 폭풍 검색했다.

결론은.. 있었다!!!

 

 

1. 소스 코드 관리에서 Sparse Checkout paths로 2번 문제를 해결한다.

 

원하는 디렉토리/파일을 로드한다.

이렇게 하면 path에 적은 디렉토리 혹은 파일을 빌드시에 로드한다.

 

 

 

2. 소스코드 관리 > ADD > Polling ignores commits in certain paths 에서 알림을 받을 항목들을 정해서 1번 문제를 해결한다.

 

알림받을 디렉토리, 파일을 정의한다.

 

이렇게 정의하면 included Regions에 있는 항목들에 커밋이 일어나면 알림을 받는다.

반대로 Excluded Regions에 있는 항목들은 커밋이 일어나도 알림을 받지 않는다.

정확하게 얘기하면 웹훅은 전체적으로 들어오지만 거른다.

 

여기까지 설정하면 한 레파지토리에서 디렉토리/파일별로 분리해서 빌드할 수도 있고, 커밋을 분류할수도 있다.