**trunk 기반 개발(trunk-based development)**은 개발자가 작은 변경을 하나의 main branch(trunk)에 자주 통합하는 branching 전략으로, 매우 짧게 유지되는 branch를 사용(또는 직접 commit)합니다. 이는 continuous integration을 극대화하기 때문에 고성능 CI/CD와 강하게 연관됩니다.
trunk 기반 개발이란 무엇인가
개발자가 작고 잦은 변경을 하나의 공유 branch(trunk/main)에 commit:
→ 매우 짧게 유지되는 branch (몇 시간 또는 하루 안에 merge) — 또는 직접 commit
→ 지속적으로 통합 (하루에 여러 번) trunk에
→ trunk를 항상 RELEASABLE(동작, deploy 가능) 상태로 유지
→ vs merge 전 며칠/몇 주 갈라지는 장기 feature branch.
왜 CI/CD를 잘 지원하는가
✓ continuous INTEGRATION을 극대화 — 잦은 작은 merge = CI의 본질
(통합 문제를 즉시 발견; 작고 해결하기 쉬운 충돌)
✓ "merge hell" 회피 — 갈라지는 장기 branch 없음 → 크고 고통스러운 merge 없음
✓ 작은 변경 = 낮은 위험, 쉬운 리뷰, 빠른 피드백
✓ trunk를 항상 deploy 가능하게 유지 → continuous DELIVERY/deployment 가능
→ 연구(DORA)가 trunk 기반 개발을 고전달 성과와 연결.
