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 브랜치로 병합
  • developmain 병합은 최종 검토 후 진행

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로 인증 관리