docs: Frontend 빌드 환경변수 문제 트러블슈팅 추가

- Gitea Actions에서 VITE_ROBING_API_URL 누락 발견
- 빌드 시점 환경변수 미적용으로 기본값 사용
- 근본 원인 해결 방법 문서화
This commit is contained in:
happybell80 2025-08-11 21:46:40 +09:00
parent d71e0ff81e
commit 158ea808e6

View File

@ -135,3 +135,52 @@ class MessageRequest(BaseModel):
2. **긴급**: JWT 토큰 검증 구현
3. **계획**: Gateway 스케일링 전략 수립
4. **장기**: Service Mesh 도입 검토
---
## 오후 9:42
### 문제 5: Frontend 빌드 시 환경변수 미적용
**증상**:
- .env 파일에 `VITE_ROBING_API_URL=https://ro-being.com/gateway` 설정됨
- 하지만 빌드된 JS 파일에는 하드코딩 기본값 `/rb10508` 사용
- 결과: nginx가 Gateway 우회하여 직접 프록시
**원인 발견**:
```yaml
# .gitea/workflows/deploy.yml
- name: Build application
run: |
export VITE_API_URL=http://localhost:8001
# VITE_ROBING_API_URL 누락!
npm run build
```
**해결**:
```yaml
export VITE_API_URL=http://localhost:8001
export VITE_ROBING_API_URL=https://ro-being.com/gateway # 추가
npm run build
```
### 교훈
1. **빌드 환경변수 체크**
- CI/CD 스크립트에서 모든 환경변수 설정 확인
- .env 파일이 있어도 빌드 시점에 로드되는지 검증
- 빌드된 결과물에서 실제 값 확인
2. **기본값 함정**
- 하드코딩 기본값은 디버깅을 어렵게 만듦
- 환경변수 미설정 시 명확한 에러가 낫다
3. **근본 원인 vs 임시방편**
- rb10508_micro 수정은 임시방편
- Gitea Actions 수정이 근본 해결
- 구조적으로 올바른 해결 우선
4. **서버 관리자 관점**
- Gateway가 이미 모든 기능 제공
- 직접 프록시는 필드 변환 누락
- Gateway 경유가 정석