Trunk Based Development(TBD) 전략이란?

fzerome·2022년 12월 9일
0

보통 git flow 전략이 익숙한데 TBD 전략도 있다고 한다.

git flow 전략의 단점은 규모가 커질수록 작업한 사항을 trunk 브랜치에 반영할 때 충돌이 발생하게 된다.

TBD

: trunk 또는 master 라는 단일 브랜치에서 직접 모든 작업을 하는 것

  • 모노레포 프로젝트에 적용하면 좋은 브랜치 전략
  • 규칙을 잘 지키는 것이 중요하다.
    • trunk에 commit 전 해당 작업을 개발자들과 미리 검수를 한 후 커밋이 되어도 문제가 없을 때 반영해야한다!


https://launchdarkly.com/blog/introduction-to-trunk-based-development/

필요한 조건

자동화 빌드

trunk에 반영되기 전 로컬에서 빌드 결과를 보고 문제가 없어야 한다.

TDD

trunk에 반영되기 전 기능적 에러 발생을 최대한 파악하고 수정되어야 한다.

실시간 코드 리뷰, 페어 프로그래밍

바로바로 리뷰 요청을 하고, 바로바로 검토해주어야 한다.

장점

  • 코드 작성할 때 바로 피드백을 줄 수 있기 때문에 피드백이 빠르다.
  • 페어프로그래밍에 적합하여 팀 스타일로 코드를 작성할 수 있다.
  • CI(지속적 통합)의 의미에 상당히 근접하다.
  • 대규모 리팩토링이 쉽다.

정리

  • feature 브랜치 기반 개발은 개별 능력을 최적화하지만,
    트렁크 기반 개발은 팀 능력을 최적화할 수 있다.
  • TBD는 간단하지만, 인원이 많고 일이 많은 팀에서는 페어 프로그래밍과 빠른 코드리뷰가 어려울 것 같다.
    👉 trunk 바로 하위에 feature 브랜치를 두어서 개발하는 STBD(Scaled Trunk Based Development) 전략 방법도 있다고 한다.

참고

https://code-masterjung.tistory.com/73

https://helloinyong.tistory.com/335

profile
프론트엔드 제롬

0개의 댓글