Git

고급 01. Develop, Main, Staging 브랜치 운영 아키텍처

개발, 스테이징, 운영 서버 인프라와 1:1로 매핑되는 엔터프라이즈 Git 브랜칭 모델과 배포 승격 파이프라인 구축 가이드

· 1min read · 5 views
고급 01. Develop, Main, Staging 브랜치 운영 아키텍처

핵심 요약

로컬, 개발, 스테이징, 운영 서버 인프라와 1:1로 매핑되는 엔터프라이즈 Git 브랜칭 모델, 배포 승격 파이프라인 및 브랜치 보호 규칙

개인 프로젝트에서는 main 브랜치 하나만 있어도 충분하지만, 수십 명의 개발자가 협업하고 수십만 명의 사용자가 접속하는 실무 서비스에서는 브랜치 구조가 곧 서버 인프라(배포 환경)의 구조가 됩니다. 이 문서는 무장애 배포를 위한 3단계 환경 격리 브랜칭 모델을 다룹니다.


1. 서버 환경과 브랜치의 1:1 매핑

브랜치연결된 서버 인프라역할 및 특성배포 방식
feature/*로컬 개발 환경 (Localhost)개발자 개인의 기능 구현 및 단위 테스트로컬 실행
develop사내 개발 서버 (Alpha / Dev)동료들의 기능들이 합쳐지는 첫 번째 통합 테스트 환경PR 머지 시 CI/CD 자동 배포
staging (또는 release)스테이징 서버 (Beta / Stg)운영 DB 복제본과 동일한 스펙에서 QA팀의 최종 리허설 검증릴리즈 후보 승격 시 배포
main상용 운영 서버 (Production)실제 고객이 결제하고 서비스를 이용하는 무결점 환경태그 생성 또는 배포 승인 시 배포

2. 실무 배포 승격 파이프라인 (Promotion Flow)

[ 단계별 코드 승격 라이프사이클 ]

 1. 개발자들: feature/* ──(PR 검증)──> develop 브랜치로 통합
                                           │
 2. 이번 주 배포 스펙 확정 (Code Freeze)   │
                                           ▼
 3. staging 브랜치로 merge ─────────> 스테이징 서버에서 최종 QA 진행 (버그 발견 시 픽스)
                                           │
 4. QA 완료 및 상용 배포 승인              │
                                           ▼
 5. main 브랜치로 merge  ──────────> 운영 서버 자동 배포 (Blue/Green, 카나리)
                                           │
 6. 배포 시점 박제                         ▼
                                     Git Tag (v2.1.0) 발행

3. 브랜치 보호 규칙 (Branch Protection Rules)

운영 서버를 날려먹는 사고를 시스템적으로 방지하기 위해, 실무에서는 GitHub/GitLab 설정에서 develop과 main 브랜치에 반드시 보호 규칙을 겁니다.

  • 직접 푸시(Direct Push) 절대 금지: 아무리 대표나 테크 리드라도 터미널에서 git push origin main을 칠 수 없도록 차단합니다. 오직 PR을 통해서만 머지 가능합니다.
  • 최소 1인 이상의 코드 리뷰 승인(Approval) 필수: 다른 팀원이 "Approve"를 누르지 않으면 머지 버튼이 비활성화됩니다.
  • CI 테스트 파이프라인 통과 필수: 단위 테스트, 린트 검사, 정적 분석이 통과(Green)해야만 머지가 허용됩니다.

Related Docs

Comments (0)

No comments yet. Be the first to comment!

Leave a Comment

로그인 후 댓글을 남길 수 있습니다.