토픽 105 / 192·소프트웨어 표준과 법제도
Trunk-Based Development
Trunk-Based Development
개발자들이 짧은 주기로 메인 브랜치(trunk/main)에 직접 커밋하고 기능 브랜치를 최소화하는 소스 코드 관리 전략으로, 지속적 통합을 강화하고 머지 충돌을 줄이는 브랜치 전략
목적: 빠른 통합, 머지 충돌 최소화, 지속적 배포, 협업 강화
특징: 단일 메인 브랜치, 짧은 생명주기 브랜치(<1일), 빈번한 커밋, Feature Flag, CI/CD 필수
핵심 원칙: 최소 1일 1회 통합, 브랜치 수명 <24시간, 릴리스는 메인에서 태그, Feature Flag로 미완성 기능 숨김
Feature Flag: 코드는 배포하되 기능은 비활성화, 런타임 토글, A/B 테스트, 점진적 롤아웃
장점: 머지 충돌 감소, 빠른 피드백, CI/CD 용이, 코드 리뷰 빠름, 협업 강화
단점: Feature Flag 관리, 높은 규율 필요, 테스트 자동화 필수, 팀 성숙도 요구
적용사례: Google, Facebook, Netflix, 스타트업, DevOps 조직
비교: Trunk-Based(메인/빈번통합) vs Git Flow(복잡/장기브랜치) vs GitHub Flow(단순/PR)
연관: CI/CD, Feature Flag, DevOps, Git, 브랜치 전략