기타/git

TBD(Trunk-Based Development)란?

책 읽는 개발자_테드 2023. 9. 19. 00:52
반응형

TBD(Trunk-Based Development)란?

  • 소스 제어 브랜치 모델에서 브랜치를 어떻게 관리할지에 대한 전략
  • Trunk 라고 불리는 단일 브랜치에서 코드를 협업하며, 빈번하고 작은 업데이트 사항을 Trunk 브랜치에 병합함.
    • Trunk 브랜치는 Git Flow의 Main 브랜치와 같은 의미
  • Trunk 브랜치 이외에 수명이 긴 개발 브랜치를 만드는 것을 지양하고, 이를 통해 협업 중의 충돌을 최소화하고 빌드가 실패되는 상태를 막음.
  • Trunk 브랜치를 항상 배포 가능한 올바른 상태로 유지함
  • 병합 및 통합 단계가 간소화됨

작은 팀을 위한 TBD:

Trunk-Based Development For Smaller Teams:#

규모가 큰 팀을 위한 TBD:

Scaled Trunk-Based Development:#

  • TBD에도 Feature 브랜치를 사용하지만, 단일 브랜치를 지향하고, 오랫동안 지속되는 브랜치를 지양(Short-Lived Feature Branches)함
  • 따라서 Trunk 기반으로 작업하는 것과  Feature Branch 수명이 굉장히 짧은 특징은 잦은 기능 수정과 빠른 릴리즈가 필요한 조직에 적합함
  • TBD를 적용하기 위해 필요한 규칙들:
    • 프로덕션에 코드를 속도감 있게 전달
    • 작은 변경 사항
    • 하루에 최소 한 번은 브랜치를 트렁크에 병합
    • 지속적인 통합, 자동화된 테스트
    • 지속적인 배포
    • 피쳐 플래그

 

참고 자료

https://trunkbaseddevelopment.com/

https://tech.buzzvil.com/handbook/workingflow-in-monorepo/

https://medium.com/daangn/%EB%A7%A4%EC%9D%BC-%EB%B0%B0%ED%8F%AC%ED%95%98%EB%8A%94-%ED%8C%80%EC%9D%B4-%EB%90%98%EB%8A%94-%EC%97%AC%EC%A0%95-1-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%A0%84%EB%9E%B5-%EA%B0%9C%EC%84%A0%ED%95%98%EA%B8%B0-1a1df85b2cff

반응형