Git

고급 03. Release Branch 배포 준비 운영 전략

정기 배포 시 기능 동결(Code Freeze), QA 버그 수정 격리, 그리고 main 배포 및 develop 역머지(Back-merge) 완벽 프로세스

· 1min read · 3 views
고급 03. Release Branch 배포 준비 운영 전략

핵심 요약

정기 배포 시 신규 개발 중단 없는 기능 동결(Code Freeze), QA 버그 수정 격리 및 main 배포 후 develop으로의 필수 역머지(Back-merge) 파이프라인

배포일이 다가왔다고 해서 팀 전체 개발자들에게 "QA 끝날 때까지 아무도 develop에 코드 머지하지 마세요!"라고 선언하면 전체 개발 일정이 멈추게 됩니다. 새로운 기능 개발은 develop에서 계속 진행하면서, 이번 배포 대상 코드만 격리하여 안정화(Stabilization)하기 위해 Release 브랜치를 운영합니다.


1. 릴리즈 브랜치의 실무 라이프사이클

[ 릴리즈 브랜치 격리 및 역머지 흐름 ]

 develop:  ───●──────────●─── (다음 스프린트 v2.1 기능 계속 개발 중) ───● (버그픽스 역머지!)
               \                                                      ▲
 release/v2.0:  └──● (Code Freeze) ──● (QA 버그 수정) ──┐              │
                                                        ▼              │
 main:     ───────────────────────────────────────────● (v2.0 태그 배포)┘

2. 단계별 실무 운영 4단계

Step 1. 기능 동결 (Code Freeze) 및 브랜치 분기

# develop 브랜치로 이동 및 최신화
(main) $ git switch develop
Switched to branch 'develop'

(develop) $ git pull origin develop

# 이번 배포 전용 release 브랜치 분기
(develop) $ git switch -c release/v2.0.0
Switched to a new branch 'release/v2.0.0'

(release/v2.0.0) $ git push -u origin release/v2.0.0

Step 2. 스테이징 배포 및 QA 중 발견된 버그 수정

(release/v2.0.0) $ git status

# QA 기간 발견된 버그 수정 커밋
(release/v2.0.0) $ git commit -am "fix: 결제 승인 페이지 모바일 레이아웃 깨짐 수정"
(release/v2.0.0) $ git push origin release/v2.0.0

Step 3. 상용 배포: main으로 Merge 및 Tag 발행

# main 브랜치로 이동
(release/v2.0.0) $ git switch main
Switched to branch 'main'

(main) $ git pull origin main

# release 브랜치를 main에 병합
(main) $ git merge --no-ff release/v2.0.0

# 릴리즈 버전 태그 생성 및 상용 푸시
(main) $ git tag -a v2.0.0 -m "Release version 2.0.0"
(main) $ git push origin main --tags

Step 4. 필수: develop 브랜치로 역머지 (Back-merge)

# develop 브랜치로 이동
(main) $ git switch develop
Switched to branch 'develop'

(develop) $ git pull origin develop

# release 브랜치의 버그 수정사항을 develop에도 병합
(develop) $ git merge --no-ff release/v2.0.0
(develop) $ git push origin develop

# 배포 완료된 release 브랜치 삭제
(develop) $ git branch -d release/v2.0.0
(develop) $ git push origin --delete release/v2.0.0

Related Docs

Comments (0)

No comments yet. Be the first to comment!

Leave a Comment

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