logo

LocalStack 로컬 환경에 구축하기

language-logoJava

• 2023 글로벌미디어학부 졸업작품 Dandi 개발 과정에서 LocalStack을 구축하여 사용하였으나, ApplicationContext가 로드되는 시점에 Localstack Container를 init하는 시간이 너무 오래 걸려 비효율적이라는 문제점을 발견하였다.
• 이를 해결하기 위해 Localstack Container를 로컬 환경에 미리 구축해두는 방식으로 개선하였으며, 이를 위해 docker-compose.yml 파일과 LocalStackConfig 클래스를 사용하여 Localstack을 Bean으로 등록하였다.
• Spring이 로드되는 시간을 줄이기 위해 ApplicationContext가 로드되는 시간을 빠르게 만들 수 있는 방법을 찾았으며, 이를 통해 로드 시간을 18~20초에서 6~8초로 줄일 수 있었다. 또한, 이 방법을 통해 전체 테스트 시간도 대폭 줄일 수 있었다.
• CI 환경에서는 LocalStack 컨테이너를 구축하고 ApplicationContext가 종료될 때 LocalStack을 내리는 방식을 사용했으나, 이 방식은 CI에서 Build Gradle의 속도에 큰 영향을 미치지 않았다. 그러나 CI 환경 구축을 위한 코드가 Java 객체가 아닌 CI 스크립트에서 전적으로 관리되는 이점이 있어, CI 스크립트에서 LocalStack을 구축하는 방식을 채택했다.

thumbnail
북마크
공유하기
신고하기
4분 분량
조회수 220
profile-image크리스
2년 전
Copyright © 2025. Codenary All Rights Reserved.