Skip to content

[ Refactor ] - fastapi 배포 서버 연결 설정 표준화 - #215

Merged
hanjyoon01 merged 3 commits into
developfrom
refactor/#212
Aug 22, 2026
Merged

[ Refactor ] - fastapi 배포 서버 연결 설정 표준화#215
hanjyoon01 merged 3 commits into
developfrom
refactor/#212

Conversation

@bigwaveBigwave

Copy link
Copy Markdown
Contributor

관련 이슈

Resolves: #212

배경

AI-service의 FastAPI Client가 기본 로컬 주소에 의존하고 있어 팀원 및 배포 환경에서 공통으로 사용할 수 있는 연결 설정이 필요했습니다.

실제 서버 주소를 코드와 Git 저장소에 포함하지 않고, 환경별 설정으로 주입할 수 있도록 개선했습니다.

작업 사항

  • FastAPI 연결 설정을 Spring Environment 기반으로 통합
  • 로컬 properties 설정 지원
  • AWS·Tomcat OS 환경변수 설정 지원
  • 로컬 설정 파일을 Git 추적 대상에서 제외
  • 실제 서버 주소가 없는 example 설정 파일 추가
  • 추천 및 거래 분류 Client가 동일한 FastAPI 설정을 사용하도록 변경
  • 설정 우선순위 적용
  • 두 설정이 모두 없으면 애플리케이션 시작 시 명확한 오류 발생
  • 여러 PropertySourcesPlaceholderConfigurer가 존재하는 환경에서도 안정적으로 설정을 조회하도록 전용 FastApiProperties 추가

설정 방법

로컬 개발 환경에서는 Git에서 제외된 다음 파일을 사용합니다.

fastapi.properties

fastapi.base-url=<FastAPI 서버의 base URL>

배포 환경에서는 Tomcat 프로세스에 다음 OS 환경변수를 등록합니다.

FASTAPI_BASE_URL=<FastAPI 서버의 base URL>

실제 서버 주소 및 API 경로는 저장소와 PR 본문에 포함하지 않습니다.

영향 범위

  • FastAPI 요청·응답 DTO 변경 없음
  • 추천 및 거래 분류 API 계약 변경 없음
  • AI 리포트 생성·저장 흐름 변경 없음
  • DB 스키마 변경 없음
  • BFF API 변경 없음
  • Scheduler 실행 시간 변경 없음
  • PDF 및 이메일 기능 변경 없음

검증

.\gradlew.bat :services:ai-service:test :api:war --no-daemon

결과:

BUILD SUCCESSFUL

추가 확인:

  • AI-service 전체 테스트 통과
  • WAR 빌드 성공
  • 로컬 properties 설정만으로 Tomcat 실행 성공
  • 환경변수 주입 테스트 통과
  • properties와 환경변수가 모두 있을 때 properties 우선 적용 확인
  • 설정이 모두 없을 때 명확한 오류 발생 확인
  • git diff --cached --check 통과
  • 실제 설정 파일과 서버 주소가 Git에 포함되지 않음

참고사항

  • fastapi.properties는 .gitignore에 등록되어 있습니다.
  • fastapi.properties.example에는 예시 주소만 포함합니다.
  • AWS 배포 환경에서는 Tomcat 프로세스가 읽을 수 있는 OS 환경변수로 설정해야 합니다.
  • .idea 파일은 이번 PR에 포함하지 않았습니다.

@bigwaveBigwave bigwaveBigwave self-assigned this Aug 22, 2026
@bigwaveBigwave bigwaveBigwave added the 🔨 Refactor 코드 리팩토링 label Aug 22, 2026
@bigwaveBigwave bigwaveBigwave linked an issue Aug 22, 2026 that may be closed by this pull request
5 tasks
@hanjyoon01
hanjyoon01 merged commit c3e61f7 into develop Aug 22, 2026
2 checks passed
@hanjyoon01
hanjyoon01 deleted the refactor/#212 branch August 22, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨 Refactor 코드 리팩토링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ Refactor ] - FastAPI 배포 서버 연결 설정 추가

2 participants