환경변수(.env.*), Spring 프로파일(application-*.yml) 수정 시 사용. app/backend/CLAUDE.md 참조 필수. 서비스별 포트 중복 검증, 민감 정보는 .env.local만, application-*.yml은 플레이스홀더만(기본값 금지). 의미없는 override 지양. SQS 엔드포인트 정확성 확인.
| 파일 | 역할 | 커밋 |
|---|
| 민감 정보 |
|---|
| 사용 시점 |
|---|
.env | docker-compose 인프라 설정 (MySQL, LocalStack) | ✅ | ❌ | docker-compose up |
.env.common | 컨테이너 공통 앱 설정 (Service URLs, SQS 큐) | ✅ | ❌ | docker-compose.{acceptance|demo}.yml |
.env.local | Spring 직접 실행용 모든 설정 | ❌ (gitignore) | ✅ | Gradle bootRun/test (IDE) |
.env.acceptance | .env.common 오버라이드 (테스트 DB, 더미 키) | ✅ | ❌ | docker-compose.acceptance.yml |
.env.demo | .env.common 오버라이드 (데모 환경) | ✅ | ❌ | docker-compose.demo.yml |
| 파일 | 환경 | 커밋 | 하드코딩 | 환경변수 로드 |
|---|---|---|---|---|
application.yml | 공통 | ✅ | ❌ (플레이스홀더만) | - |
application-local.yml | 로컬 개발 (IDE) | ✅ | ❌ (플레이스홀더만) | Gradle이 .env.local 로드 |
application-acceptance.yml | 인수 테스트 | ✅ | ❌ (플레이스홀더만) | .env.common + .env.acceptance |
application-prod.yml | 운영/데모 | ✅ | ❌ (플레이스홀더만) | .env.common + .env.demo |
# ❌ 나쁜 예: application-local.yml에 하드코딩