본문 바로가기

Backend8

[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.
[Flyway] 맥북 Flyway CLI 설치 방법 이번에 사이드 프로젝트를 하면서 Flyway CLI를 설치하고 활용해보면서 그 방법을 정리합니다. 설치 도구로는 Homebrew를 사용했습니다. 1. "brew install flyway"를 실행하여 flyway를 설치합니다.2. flyway에 연결할 DB 설정을 합니다.flyway 명령어(Ex. flyway repair)를 실행하면 아마 아래와 같은 오류가 발생합니다. 이는 Flyway와 DB간 연결이 되지 않아 발생하는 문제입니다. 2-1) "brew --prefix flyway"를 실행하여 flyway 설치 위치를 알아내고 해당 폴더로 이동합니다. 2-2) 아마 이동하면 아래와 같은 디렉토리가 있을 텐데 libexec로 이동합니다. 그 후 conf 디렉토리로 이동합니다. ( "cd libexec/.. 2025. 9. 21.
[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.