..
GitHub vs GitLab Flow: 단순하고 빠른 배포 전략
1. GitHub Flow: 극단적인 단순함
Git Flow가 너무 무겁고 복잡하다고 느껴질 때 사용하는 전략입니다. 지속적인 배포(CD) 환경에 매우 적합합니다.
- 브랜치 구조:
master와작업 브랜치로만 구성됩니다. - 철학: 모든 작업은
master에서 시작하고, 작업이 끝난 후 Pull Request(PR)를 통해 리뷰를 거쳐 즉시master로 병합 및 배포됩니다. - 핵심:
master는 언제나 곧장 배포 가능한 최신 상태를 유지해야 합니다.
2. GitLab Flow: 단순함과 안정성의 조화
GitHub Flow는 너무 단순하여 운영 환경과 개발 환경의 시차를 관리하기 어려울 수 있습니다. 이를 보완한 것이 GitLab Flow입니다.
- Pre-production 브랜치 도입:
master와 제품 환경(production) 사이에pre-production이라는 검증용 브랜치를 추가합니다. - 흐름:
master에 병합된 코드를 먼저pre-production에서 충분히 테스트한 뒤, 결정된 시점에production으로 병합하여 배포합니다.
- GitHub Flow: “병합 즉시 배포”가 가능한 환경에 추천합니다.
- GitLab Flow: 배포 전 단계별 검증 절차가 필요한 환경에 추천합니다.