[Git] STBD (Scaled Trunk Based Development)

jinnnny·2024년 1월 11일
0

Git

목록 보기
6/7

STBD (Scaled Trunk Based Development)

Scaled Trunk Based Development (STBD)는 대규모 팀과 프로젝트에서 Trunk Based Development(TBD)의 원칙을 적용한 브랜치 전략입니다. TBD의 간소하고 빠른 개발 접근 방식을 유지하면서도, 대규모 프로젝트에서의 안정성과 협업을 지원하기 위해 브랜치 구조를 확장하고 조율한 방법입니다.


STBD 브랜치 구조

1. Main 브랜치 (Trunk)

  • 모든 개발이 이루어지는 기본 브랜치입니다. 변경사항이 빠르게 통합되고, 주기적으로 릴리스되어 배포 가능한 상태를 유지합니다.

2. Integration 브랜치

  • 대규모 기능, 서비스, 또는 여러 기능의 통합을 위한 브랜치입니다.
  • 주로 Main 브랜치에서 파생되며, 변경사항을 받아들이고 테스트한 후 Main 브랜치로 다시 통합됩니다.

3. Feature 브랜치

  • 새로운 기능을 개발하기 위한 일시적인 브랜치로, Integration 브랜치나 Main 브랜치에서 파생되고 변경사항을 통합합니다.

STBD 장단점

1. 장점

  • Integration 브랜치를 사용하여 큰 기능을 통합하고 테스트하므로 Main 브랜치에 안정적인 변경사항을 유지할 수 있습니다.
  • 각 팀은 독립적으로 작업하고 Integration 브랜치에서 변경사항을 통합할 수 있어, 팀 간 협업이 용이합니다.

2. 단점

  • 여러 레벨의 브랜치를 관리하는 것은 추가적인 복잡성을 초래할 수 있습니다.
  • Integration 브랜치에서의 통합 작업은 추가적인 노력이 필요하며, 충돌 및 의존성 문제가 발생할 수 있습니다.

TBD 전략과 비교

TBD는 주로 작은 규모의 프로젝트와 민첩한 팀에서 사용되는 반면, STBD는 대규모 프로젝트에서 협업과 안정성을 강조합니다. STBD는 Integration 브랜치를 도입하여 큰 규모의 기능을 관리하고 테스트하는 추가 레이어를 제공하며, 이는 복잡성 증가와 통합 오버헤드라는 단점을 가집니다. 선택은 프로젝트의 요구 사항, 팀의 규모 및 구성, 개발 문화 등을 고려하여 이루어져야 합니다.

0개의 댓글