트렁크 기반 개발

고급 Git

Amanda Crawford-Adamo

Software and Data Engineer

트렁크 기반 개발이란?

  • 소스 제어 브랜칭 CI/CD 모델
  • 개발자는 더 이상 별도 릴리스 브랜치에 푸시하지 않음
  • 단기 브랜치의 변경을 main에 푸시
  • 작고 빈번한 업데이트

메인 브랜치로의 커밋 그래프와 릴리스 트렁크를 보여주는 브랜치

고급 Git

트렁크 기반 개발의 핵심 원칙

  1. main에 자주 커밋
  2. 단기 기능 브랜치(< 1일)
  3. 지속적 통합
  4. 미완성 작업에 기능 플래그 사용

트렁크 기반 워크플로우 도식. 단기 브랜치가 main에 커밋할 때 기능 플래그 토글 포함.

고급 Git

TBD에서의 기능 플래깅

  • 미완성 기능 관리
  • 사용자 영향 방지
  • 기능을 점진적으로 릴리스

기능 플래그 코드 예시

  if feature_flag_enabled('new_feature'):
      # New feature code
  else:
      # Old feature code
고급 Git

TBD의 지속적 통합

  • main 커밋이 자동 빌드와 테스트를 트리거
  • 유지보수 감소, 더 빠른 릴리스
  • 제품을 항상 신뢰할 수 있고 안정적으로 유지
  • 보안 및 업계 표준 준수 보장
  • 코드 품질 유지, 버그 위험 감소
고급 Git

TBD의 장점과 과제

장점:

  • 병합 충돌 감소
  • 더 빠른 릴리스 주기
  • 코드 품질 향상
  • 협업 강화

과제:

  • 팀 규율 필요
  • 견고한 테스트 필요
  • 초기 학습 곡선
  • 미완성 기능 관리
고급 Git

모범 사례

  1. 작은 변경을 자주 커밋
  2. 테스트와 배포 자동화
  3. 미완성 작업은 기능 플래그 사용
  4. 정기 코드 리뷰 수행
  5. 배포 후 모니터링
고급 Git

연습해 봅시다!

고급 Git

Preparing Video For Download...