CI/CD 워크플로우에 큰 영향을 미치는 Git Flow와 Trunk-Based Development(TBD) 사이의 선택은 다음과 같이 간단하게 요약됩니다. Git Flow Trunk-Based Development (TBD)과 Git Flow 사이의 선택은 CI/CD 워크플로우에 큰 영향을 미칠 수 있습니다. 여기서 간단한 요약을 제공합니다.
- Git Flow: __CAPGO_KEEP_0__에 적합한 환경은 구조화된 버전 관리 환경입니다. 여러 branch를 사용합니다. 예를 들어, , 등이 있습니다. 대규모 팀, 느린 릴리스 주기, 엄격한 QA 프로세스가 필요한 경우에 적합합니다.
main,develop,feature,release, andhotfix. Git Flow - Git FlowTrunk-Based Development
: __CAPGO_KEEP_0__은 단일 메인 branch에 중점을 두고, 짧은 라이브 feature branch를 사용합니다. 작은 팀, 빠른 릴리스 주기, 강력한 자동화 테스트가 필요한 경우에 적합합니다.
| Quick Comparison: | Aspect | Branch Complexity |
|---|---|---|
| Git Flow | Trunk-Based Development | Multiple long-lived branches |
| 릴리스 주기 | 예약 릴리스 | 연속 릴리스 |
| 팀 크기 | 대규모 팀 | 중소규모 팀 |
| 테스트 | 릴리스 종료 시점 테스트 | 자동 테스트 |
| 배포 위험도 | 스테이징 릴리스로 인한 낮은 위험 | 빈번한 업데이트로 인한 높은 위험 |
| 롤백 | 느린 | 빠른 |
주요 내용Git Flow를 사용하여 구조화된, 느린 워크플로우와 TBD를 사용하여 속도와 유연성을 위해.
성공하기 위해 두 가지 모두가 강력한 CI/CD pipeline이 필요합니다.
YouTube 동영상 플레이어 Git Flow

Git Flow Git Flow는 다섯 가지 branch 유형을 사용하여 개발을 조직합니다:, 개발, 기능, 릴리즈, 핫픽스. 이 구조는 릴리즈 관리 및 병렬 개발을 효과적으로 관리하는 데 도움이 됩니다.
Git Flow Branch Structure
| Branch Type | Purpose | Merge Target |
|---|---|---|
| 메인 | 생산 준비가 완료된 code | N/A |
| 개발 | 기능을 통합; 기능 branch의 기본으로 작용한다 | N/A |
| 기능 | 개별 기능을 구축하는 데 사용; develop에서 생성 | develop |
| 릴리스 | 최종 테스트 및 버전화에 대비; develop에서 생성 | main & develop |
| 핫픽스 | 프로덕션 문제를 빠르게 수정; main에서 생성 | main & 개발 |
Git Flow의 이점
- 여러 기능을 동시에 개발할 수 있어 충돌이 발생하지 않습니다.
- 릴리즈 브랜치에서는 최종 테스트 및 버전 준비를 위한 전용 공간을 제공하여 개발 중인 develop branch를 계속 진행할 수 있도록 합니다.
- Hotfix 브랜치에서는 프로덕션 문제를 신속하게 해결할 수 있어 다른 개발 작업에 방해받지 않습니다.
Git Flow의 단점
- 여러 활성 브랜지를 관리하는 것은 병합이 더 어려울 수 있습니다.: 여러 활성 브랜지를 관리하는 것은 병합이 더 어려울 수 있습니다.
- 배포 속도 저하: formal release 프로세스는 단순한 워크플로우보다 배포를 늦출 수 있습니다.
- Increased Maintenance: 각 branch는 독자적인 pipeline 설정이 필요하여 유지보수 작업 부담이 증가합니다.
This workflow는 프로젝트가 엄격한 버전 관리, 여러 릴리스 트랙, 규제 준수와 같은 요구 사항이 있는 경우 가장 잘 작동합니다. 다음으로, 우리는 이가 트렁크 기반 개발의 스트리밍된 접근 방식과 어떻게 비교되는지 살펴보겠습니다.
Trunk-Based Development Basics
Trunk-Based Development (TBD)는 주로 트렁크 또는 메인이라고 불리는 단일 메인 branch를 중심으로 revolves합니다. 이 접근 방식은 DevOps 관행과 지속적 통합과 밀접하게 연관되어 있습니다.
Trunk-Based Branch Structure
일반적인 TBD 워크플로우에서, 다음 branch 유형을 만날 수 있습니다:
| Branch Type | 목적 | 수명 |
|---|---|---|
| Main/Trunk | code를 위한 중앙 branch | 영구 |
| 기능 branch | 개별 변경 사항을 위한 임시 branch | 단기적 |
| 릴리즈 branch | 릴리즈 전에 최종 조정을 위한 branch | 임시 |
개발자들은 주로 일일 basis로 작은 incremental 변경 사항을 main branch에 merge한다. 이로 인해 지속적인 테스트와 빠른 conflict 해결이 가능하다.
트렁크 베이스드 이점
TBD는 CI/CD 및 DevOps를 위한 팀에게 다음과 같은 이점을 제공한다.
- 병합 conflict가 적다: Regular merges keep conflicts manageable.
- 빠른 피드백: Automated builds run with every merge, catching bugs early.
- 간소화된 PIPELINE: A single branch reduces the complexity of CI/CD setups.
- 팀 협업이 더 쉬워진다: A shared trunk ensures everyone stays aligned.
트리크 기반의 구조
이 구조는 Git Flow와의 비교를 위해 다음 섹션에서 준비된 스트리밍 워크플로를 만든다.
트리크 기반의 제한
| TBD는 강점이 있지만 팀이 해결해야 하는 문제점도 있다. | 문제점 | __CAPGO_KEEP_0__ |
|---|---|---|
| Code Stability | 주요 버전 업데이트로 인한 변경 사항의 위험 | 강력한 자동화 테스트 사용 |
| 팀 협력 | 중복 작업이 팀의 혼란을 일으킬 수 있습니다. | 기능 플래그를 사용하고 자주, 작은 커밋을 사용하여 |
| 학습 곡선 | 긴 수명 branch에서 전환하는 경우 | 훈련 제공 및 점진적으로 도입 |
| 확장성 문제 | 큰 팀에서 자주 병합하는 것은 혼란을 일으킬 수 있습니다. | code 검증을 철저히 강제하세요 |
성공적인 TBD 도입을 위해서는 팀 내에서 자동화된 테스트와 열린 의사소통이 필수입니다.
Git Flow vs. Trunk-Based: 직접적인 비교
Git Flow와 Trunk-Based Development의 주요 영역에서 어떻게 비교되는지 알아보세요.
기능 비교 표
| 영역 | Git Flow | Trunk-Based Development |
|---|---|---|
| Branch Complexity | 여러 개의 장기 운영 중인 branch | 단일 메인 branch와 짧은 운영 중인 branch |
| 릴리즈 주기 | __CAPGO_KEEP_0__ | 정기적인 릴리스 |
| 연속적인 배포 | 팀 크기 | 큰 팀에 적합합니다. |
| Code Review Process | __CAPGO_KEEP_0__ 리뷰 프로세스 | branch merge 시 공식적인 리뷰 |
| 작은 크기, 빈번한 변경 사항에 대한 지속적인 리뷰 | 테스트 요구 사항 | 주기적인 테스트 |
| 자동화된 테스트에 의존하는 경우입니다. ','학습 곡선 | 다중 branch로 인한 복잡성 | 강력한 테스트가 필요하지만 workflow가 단순합니다 |
| 배포 위험 | 단계별 릴리스로 인한 낮은 위험 | 빈번한 업데이트로 인한 높은 위험 |
| 복구 시간 | 롤백 프로세스가 느립니다 | 빠른 복원 기능 |
각 워크플로우 사용하는 시점
Git Flow 기업급 프로젝트에 적합한 구조화된 버전 릴리스가 필요할 때 ideal합니다. 다수의 지원 버전 및 공식 QA 또는 규정 준수 요구가 있는 프로젝트를 관리하는 팀에게 적합합니다.
트렁크 기반 개발 works best for teams and projects that prioritize speed and flexibility, such as:
- SaaS 플랫폼이 빠른 업데이트를 필요로 할 때
- 강력한 CI/CD PIPELINE을 보유한 팀
- 신뢰할 수 있는 자동화된 테스트에 의해 지원되는 프로젝트
- 연속적인 배포 워크플로우 또는 빈번한 릴리스
- 모바일 앱 프로젝트가 정기적인 업데이트를 필요로 할 때
일부 팀은 두 가지 방법을 결합하기도 합니다: 코어 서비스에 Trunk-Based Development를 사용하고, 공식 릴리스 트랙을 가진 프로젝트에 Git Flow를 사용합니다.
다음으로: CI/CD PIPELINE을 설정하는 방법을 알아보겠습니다.
CI/CD PIPELINE 설정
Git Flow CI/CD PIPELINE 설정
- 개발 Branch PIPELINE: 단위 테스트, 통합 테스트, code 품질 검사, 빌드 검증, 개발 환경에 배포합니다.
- 릴리스 branch pipeline: 전체 테스트 스위트, 보안 스캔, 릴리스 후보 생성 및 스테이징 환경에 배포합니다.
- 메인 branch pipeline: 유효성 검사 테스트, 버전 관리, 프로덕션 빌드 생성, 프로덕션에 배포, 및 릴리스 태그를 생성합니다.
트렁크 기반 CI/CD 설정
- : 빠른 단위 테스트, __CAPGO_KEEP_0__ 스타일 체크, 빌드 확인 및 미리보기 환경에 배포합니다.: Focuses on quick unit tests, code style checks, build verification, and deployment to a preview environment.
- :彻底한 자동화 테스트, 보안 스캔, 프로덕션 빌드 생성, 점진적 배포 및 자동 롤백 기능을 제공합니다.__CAPGO_KEEP_0__
Capgo __CAPGO_KEEP_0__ Live Update Dashboard 인터페이스

To Capgo을 CI/CD 설정에 실시간으로 업데이트를 추가하려면 Capgo을 다음과 같이 통합할 수 있습니다:
Capgo은 GitHub Actions, GitLab CI, Jenkins 실시간 업데이트, 단계별 출시, 즉시 롤백을 Git Flow 및 Trunk-Based pipeline 모두에서 활성화하려면 __CAPGO_KEEP_0__을 사용할 수 있습니다. 또한 Apple 및 Google의 요구 사항을 충족하며 cloud 및 self-hosted 배포를 모두 지원합니다. [1].
요약 및 권장 사항
팀의 규모와 CI/CD 성숙도에 따라 아래 표에 나열된 워크플로우를 선택하세요.
| 시나리오 | Git Flow | 트렁크 기반 |
|---|---|---|
| 팀 크기 | 50명 이상의 개발자 | 50명 미만의 개발자 |
| 릴리즈 주기 | 주간 또는 월간 | 일주일 또는 다중 일주일 |
| 테스트 및 QA | 전통 QA 주기 | 자동화 테스트에 집중 |
| 배포 모델 | 다중 버전, 전통 | 클라우드 네이티브, 컨테이너화 |
| __CAPGO_KEEP_0__ | conservative한 규제 설정 | 빠른 feedback를 위한 진보적인 설정 |
- 작은 팀에서 Trunk-Based Development을 시작하고, 그룹을 확장하세요. CI/CD pipeline이 완전히 자동화되기 전에 전환하세요.
- 일관적인 code 리뷰를 유지하고, 두 가지 워크플로우 모두에서 기능 토글을 사용하세요. pipeline 설정을 워크플로우와 일치시키세요.
일부 팀은 이러한 접근 방식을 혼합할 수 있습니다 - Git Flow를 사용하여 주요 릴리스를 관리하는 동안 Trunk-Based Development를 사용하여 기능 배포를 관리할 수 있습니다. CI/CD를 적절하게 통합하고 테스트를 자동화하고 팀을 같은 페이지에 유지하는 것이 성공의 핵심입니다.
Git Flow vs Trunk-Based Development CI/CD
만약 __CAPGO_KEEP_0__를 사용하고 있다면 Git Flow vs Trunk-Based Development CI/CD CI/CD 자동화 계획을 위해 연결하세요. __CAPGO_KEEP_0__ CI/CD Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo Native Builds Capgo Native Builds를 위한 제품 워크플로우 Capgo Integrations Capgo Integrations를 위한 제품 워크플로우 CI/CD Integration CI/CD Integration의 구현 세부 사항, 그리고 GitHub Actions Integration GitHub Actions Integration의 구현 세부 사항.