본문 바로가기

Backend/Spring6

[Spring] Github Action과 Docker를 활용한 CD 작성기 프로젝트 구조- 언어 및 프레임워크: Java, Spring Boot- 어플리케이션 배포 Platform: Docker- Source 관리: Git & Github(저장소) - 배포 클라우드 및 리소스: AWS EC2 CI 작성기는 아래 글을 참고해주세요. [Spring] Github Action과 Docker를 활용한 CI 작성기프로젝트 구조- 언어 및 프레임워크: Java, Spring Boot- 어플리케이션 배포 Platform: Docker- Source 관리: Git & Github(저장소) 현재 멀티 모듈로 구성되어 있는 Api 서버 제작 프로젝트를 하고 있습니다. 어플happiestlife.tistory.com 이번 CD에서는 CI때와 달라진 부분이 있다면 멀티 모듈 프로젝트에서 단일 모듈 .. 2025. 10. 29.
[Spring] Github Action과 Docker를 활용한 CI 작성기 프로젝트 구조- 언어 및 프레임워크: Java, Spring Boot- 어플리케이션 배포 Platform: Docker- Source 관리: Git & Github(저장소) 현재 멀티 모듈로 구성되어 있는 Api 서버 제작 프로젝트를 하고 있습니다. 어플리케이션은 Spring framework를 사용하며 Docker에서 동작하도록 구현했습니다. 그리고 소스 코드의 관리는 Git, 저장소는 Github을 사용하고 있습니다. 따라서 자연스럽게 CI 및 CD 도구로 Github Action을 사용하게 되었습니다. 이 프로그램의 설정은 application.yml 파일을 활용해서 진행합니다. 해당 파일에는 DB url과 DB 비밀번호와 같은 비밀 값들이 있을 수 있는데, 비용 절감을 위해 AWS KMS 등과 .. 2025. 7. 18.
[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.