GIT 형상관리 - be14-fin-Clover-Salad/be14-fin-Clover-Salad-BE GitHub Wiki
🗂 Git 기반 형상관리 전략
1. 브랜치 전략
우리는 기능 개발과 운영 안정성을 분리하기 위해 다음과 같은 브랜치 구조를 사용
브랜치 |
용도 |
main |
실제 배포되는 안정 버전 |
develop |
통합 개발 브랜치 |
feature/* |
기능 단위 작업 브랜치 (feature/customer/create 등 도메인/기능 기준) |
hotfix/* |
운영 중 긴급 수정이 필요한 경우 |
refactor/* |
기존 코드 구조 개선이나 오류 수정 |
chore/* |
주석, 포맷, 불필요한 코드 정리 등 잡작업 |
test/* |
테스트 코드 작성 및 개선 |
2. 커밋 컨벤션
작업 내용을 명확하게 관리하고 이력을 추적하기 위해 아래와 같은 형식으로 커밋 메시지를 작성
💬 커밋 메시지 예시
Feat: "로그인 함수 추가"
로그인 요청을 위한 함수 구현
Closes: #123
✍️ 커밋 작성 규칙
- 제목과 본문 사이에 한 줄 띄움
- 제목은 50자 이내, 첫 글자 대문자, 마침표 생략
- 제목은 명령형으로 작성 (예: Add login API, Fix header bug)
- 본문은 72자 단위로 줄바꿈, “무엇을”과 “왜” 중심으로 설명
🏷 커밋 태그 종류
태그 |
의미 |
Feat |
새로운 기능 추가 |
Fix |
버그 수정 |
Env |
개발 환경 관련 설정 |
Style |
코드 포맷/스타일만 수정 |
Refactor |
기능 변화 없이 코드 개선 |
Design |
UI/CSS 관련 수정 |
Comment |
주석 추가/수정 |
Docs |
문서 작성 및 수정 |
Test |
테스트 코드 |
Chore |
기타 변경 (빌드, 의존성 등) |
Rename |
이름 변경 |
Remove |
파일/코드 제거 |
3. 협업 방식 및 PR 흐름
- 모든 기능은
feature/
브랜치에서 작업
- PR 작성 후 팀원 2인 이상 리뷰 필수
- 리뷰 승인되면
develop
브랜치로 병합
develop
→ main
병합은 최종 검토 후 진행
4. 형상관리 환경 및 CI/CD 구성
⚙️ GitHub Actions를 통한 자동화
항목 |
내용 |
사용 도구 |
GitHub Actions |
실행 조건 |
main 브랜치 push 시 자동 실행 |
CI 작업 |
백엔드 Gradle 빌드 + zip 패키징프론트엔드 Vite 빌드(dist 생성) |
CD 작업 |
EC2 접속 후 배포 스크립트 실행Spring Boot JAR 재시작Express 서버로 dist 서빙 |
🖥 인프라 및 배포 구조
구성 |
내용 |
프론트엔드 |
Vue (Vite 기반) → Express에서 정적 서빙Nginx로 HTTPS 처리 및 프록시 |
백엔드 |
Spring Boot (5000번 포트)MariaDB(RDS), Redis 연동 |
도메인/SSL |
Route 53 + ACM을 통한 SSL 인증https://saladerp.com 도메인 사용 |
🔁 프록시 및 실시간 처리
항목 |
설명 |
API 프록시 |
Express가 /api 요청을 Spring Boot API 서버(https://api.saladerp.com )로 전달 |
SSE 알림 |
/notification/subscribe 요청으로 실시간 알림 구독Spring SSEEmitter로 전송, Redis로 인증 관리 |