기타
멀티모듈 배포방법
초록색거북이
2024. 1. 25. 09:51
728x90
반응형
SMALL
spring boot 에서 멀티 모듈을 구성하는 방법이 궁금하신 분들은 위의 링크를 타고 보시면 됩니다.
module-api (배포O)
module-crawling (배포O)
module-admin (배포O)
module-database (공통으로 갖는 모듈. 배포x)
4가지 모듈로 쪼개논 상태입니다.
실제로는 module-api, module-crawling, module-admin 이 3가지만 배포하면 됩니다.
젠킨스를 이용해서 배포를 하고 있는데, 큰 프로젝트껍데기 안에 4가지 모듈이 있습니다.
일반적인 방식으로 스크립트를 돌린다면 module-admin에서만 수정한 소스코드여도
전체 모듈을 한번씩 다 빌드를 해주고있었습니다.
하지만 저희는 멀티모듈이기에 다 각자 독립적으로 생각을 해야합니다.
그래서 module 단위로 보아, 소스가 수정된 module만 빌드하고 배포할수 있도록 스크립트를 작성해야합니다.
그래서 활용하는 것이
changeset 입니다.
changeset은 조건에 맞게 변경감지된 것을 알려줍니다.
when {
anyOf{
changeset "module-database/**/*"
changeset "module-admin/**/*"
}
}
module-database 와 module-admin 하위 경로가 수정될때 '아래 스크립트를 수행 하라' 라고 조건을 걸어줍니다.
sh './gradlew ${MODULE_ADMIN}:build -x test'
그 후 ./gradlew module-api:build -x test 이런식으로, 모듈명을 적어주면, 그 모듈만 빌드를 시작합니다.
결론적으로 정리해보면, module-database, module-admin 하위경로가 소스코드가 수정되는걸 감지한다면
(적어준 모듈명) 모듈만 빌드해라. 이뜻입니다.
이를 활용해서 멀티모듈 배포를 하면 됩니다.
728x90
반응형
LIST