Backend5 [Spring] Multi-module 프로젝트에서 테스트용 docker-compose 파일 공통화 현재 내가 진행중인 토이 프로젝트의 환경은 아래와 같다. 모듈에 관한 간략한 설명은 아래와 같다. 1. User 모듈사용자 관련 비지니스 로직 및 기능 담당2. Sales 모듈매출 / 매입 관련 비지니스 로직 및 기능 담당3. Common 모듈테스트 코드 외에서 공통적으로 사용되는 기능 담당4. Test 모듈테스트 코드에서 공통적으로 사용되는 기능 담당5. Api 모듈어플리케이션 시작 및 API 관련 기능 담당 그리고 각 모듈은 프로젝트의 최상위 디렉토리에서 빌드되어 docker 환경에서 띄워지게 된다. 따라서 docker-compose.yml, Dockerfile은 모두 최상위 디렉토리에 위치한다. 그리고 실제 docker 환경 기반의 테스트를 위해 "testcontainers" 를 사용한다. 여.. 2025. 3. 11. [Spring] 멀티 모듈에 Spring Rest Docs 적용기 문제이번에 포트폴리오를 준비하면서 멀티 모듈로 구성된 어플리케이션을 만들어 보고 있다. 빌드 도구로는 gradle을 사용했다. (8.10.x) 모듈은 아래와 같이 구성되었었다.1. Common 모듈: 테스트, 유틸 등의 공통 기능을 담고 있는 모듈2. App 모듈: 어플리케이션 구동을 담당하는 모듈3. User 모듈: 사용자 관련 기능을 담당하는 모듈4. Sales 모듈: 매출 / 매입 등 재무 기능을 담당하는 모듈 각 모듈은 Controller, Service, Repository, Entity 등 모든 계층을 담고 있었고, 각 모듈별로 유닛 테스트부터 Spring Rest Document를 적용하기 위한 통합 테스트 코드를 가지고 있었다. 그리고 각 App 모듈로 어플리케이션을 기동하기 때문에 Ap.. 2025. 3. 3. [Gradle] Built-in Task의 내부 실행 순서 현재 멀티 모듈로 구성된 프로젝트를 만들어 보고 있다.그런데 최상위 프로젝트에서 build를 실행해도 생성된 jar에 특정 디렉토리 / 파일을 넣는 작업이 되지 않았다. (현재 진행형..)아무리 AI에 물어보고 찾아봐도 나의 프로젝트 상황과 유사한 케이스가 없어서 직접 gradle의 task 단계를 확인하고 그 중간에 jar 파일에 특정 파일 / 디렉터리를 넣는 custom task를 만들어 보기로 했다. (가능하다면 말이다.)그렇게 gradle 빌드 도구의 동작 원리에 대해서 자세히 공부해보게 되었다. 대표적인 built-in task들의 내부적인 task 실행 순서의 확인은 gradle CLI의 로그 옵션을 사용했다.-i 옵션을 넣어서 로그를 찍어보면 "Tasks to be executed: [tas.. 2025. 3. 3. [Gradle] Gradle Wrapper 개념 정리 토이 프로젝트를 해보고 있는데, 단순히 gradle을 실행하는 것 보다는 gradle wrapper를 사용하는 것이 훨씬 좋다는 의견을 접하게 되었다. 그래서 프로젝트에 gradle wrapper를 적용하면서 이 기능의 개념과 사용 방법, 알면 좋은 기능들을 문서를 보면 정리해보았다. (문서 번역 기반) 더 자세한 내용은 Gradle wrapper 문서를 참고하는 것이 좋을 듯 싶다. Gradle Wrapper개념필요시 선언된 gradle을 다운로드 받을 수 있게 해주는 도구로, 어떤 환경에서든 동일한 gardle 환경으로 프로젝트 빌드를 가능하게 해주는 도구장점사용자의 환경과 무관하게 동일한 gradle 버전으로 빌드 표준화다양한 사용자 및 환경에서의 gradle 버전 제공은 간단하게 wrapper를 .. 2025. 2. 8. 이전 1 2 다음