| 영역 |
설명 |
| Backend |
Spring Boot (Fly.io 배포) |
| Frontend |
정적 HTML / JS (GitHub Pages 배포) |
| CI/CD |
GitHub Actions 자동 배포 |
| 인증 |
JWT + BCrypt (환경변수 기반) |
backend/ # API 서버 (Spring Boot)
frontend/ # 정적 페이지 파일
scripts/ # 초기 세팅용 (운영 중에는 거의 사용 안함)
.github/workflows/
- 코드 수정 → commit → push → GitHub Actions 성공 확인
- FE :
pages-frontend.yml
- BE :
fly-backend.yml
⚠️ 비밀번호 원문은 절대 Git에 업로드 금지
⚠️ ADMIN_PASSWORD_HASH, JWT_SECRET 모두 Fly secrets로 관리
- BCrypt 해시 생성
new org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder()
.encode("새 비밀번호");
- Fly 환경변수 교체
fly secrets set ADMIN_PASSWORD_HASH='생성된_해시값'
- 로그인 테스트
curl -X POST https://<fly-app>.fly.dev/api/admin/auth/login \
-H "Content-Type: application/json" \
-d '{"password":"새 비밀번호"}'