GitLab 코드 리뷰 혼란과 해결책: Bellugo 도입 사례
분야
프로그래밍/소프트웨어 개발
대상자
- 개발자 및 리드 개발자: 애자일 팀에서 다수의 마이크로서비스와 GitLab 저장소를 관리하는 팀
- 난이도: 중간~고난도 (프로세스 최적화, 도구 활용 기술 요구)
핵심 요약
- GitLab Merge Request (MR) 리뷰 과정에서 발생하는 시각화 부족과 작업 혼란*을 해결하기 위해 Bellugo라는 기여도 추적 도구를 개발했습니다.
- MR 리뷰 시각화 부족: 작업 대기 상태, 차단 상태, 리뷰 요청 상태를 파악하기 어려운 문제
- 비동기 리뷰의 한계: 저장소 간 전환, 리뷰 미완료 사항 누락 등의 컨텍스트 스위칭
- Bellugo의 핵심 기능: 통합된 MR 관리, 리뷰 진행 상태 체계화, 작업 흐름에 맞춘 리뷰 트래킹
섹션별 세부 요약
1. 문제점 분석
- 10명 개발자 팀이 수십개 마이크로서비스와 GitLab 저장소를 관리하며 스프린트 중 리뷰 혼란
- 일관된 리뷰 프로세스:
- MR 생성 후 Jira 티켓 이동
- Teams 채널에 MR 링크 공유
- *작업 중단 후 다음 스토리로 이동**
- 워크로드 증가 시 문제:
- 대규모 MR 무시 또는 급하게 승인
- 리뷰 대기 상태, 차단 상태, 추가 입력 필요 사항 추적 불가
2. 시도한 해결 방안
- GitLab 라벨 활용:
needs-review
,blocked
등으로 상태 표시 - Jira 태그 추가: 리뷰 상태 투명성 강화
- 리뷰어 역할 회전: 저장소별 리뷰어 매년 변경
- 결과: 문제 해결에 한계, 시각화 부족이 근본 원인
3. Bellugo 도입과 기능
- Bellugo의 설계 목적: 저장소 간 리뷰 혼란 없이 통합 관리
- 주요 기능:
- 통합 MR 뷰: 모든 저장소의 리뷰 상태 시각화
- 리뷰 상태 분류: "승인 대기", "차단", "추가 입력 필요" 등 구분
- 작업 흐름에 맞춘 트래킹: 리뷰 중단 시 작업 이력 자동 저장
- 자동 알림 시스템: 리뷰 대기 상태 시 개발자 알림
결론
- *GitLab 코드 리뷰의 혼란은 시각화 부족과 작업 흐름 간섭에서 비롯**됩니다.
- 실무 팁:
- 리뷰 상태를 통합적으로 관리하는 도구(예: Bellugo) 도입
- 리뷰 대기 상태 시 자동 알림 시스템 구축
- 리뷰어 역할 회전 대신 구조화된 리뷰 프로세스 정립
- Bellugo의 효과:
- 리뷰 대기 시간 40% 감소
- 리뷰 품질 향상 및 작업 중단 최소화
- 다수 저장소 리뷰 관리의 효율성 극대화