[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가
실제 DB를 쓰는 통합 테스트는 신뢰도가 높지만, 컨텍스트 분화로 컨테이너가 복제되며 CI가 느려졌습니다. 이를 Gradle BuildService로 공유하고 스키마를 분리해 속도와 격리를 함께 확보했습니다.
#Testcontainers#Spring Boot#Gradle
500
![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://flex.team/blog/og/main.jpg)
Liquibase 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.
3개 표시
실제 DB를 쓰는 통합 테스트는 신뢰도가 높지만, 컨텍스트 분화로 컨테이너가 복제되며 CI가 느려졌습니다. 이를 Gradle BuildService로 공유하고 스키마를 분리해 속도와 격리를 함께 확보했습니다.
![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://flex.team/blog/og/main.jpg)
실제 DB를 쓰는 통합 테스트가 dirty context로 컨테이너를 복제하며 느려지는 문제를 다루었습니다. Gradle BuildService로 컨테이너를 공유하고 모듈별 스키마를 분리하는 해법을 소개했습니다.
![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://cdn.sanity.io/images/v31psllp/production/84f3d9c344480bec28c26726a1ef04c0407b32cd-1684x1030.png)
Testcontainers로 생기는 컨테이너 폭증과 메모리 고갈 문제를 Gradle BuildService로 줄였습니다. 하나의 컨테이너를 재사용하고 스키마 초기화 방식을 정리해 CI 시간을 크게 단축했습니다.
