본 가이드는 GitLab과 LLM(Large Language Model)을 연동하여 코드 품질을 자동으로 검증하고, 리뷰어의 생산성을 극대화하기 위한 단계별 아키텍처 구성 방안을 설명합니다.
1. Webhook 기반의 소스 변경 감지 및 이벤트 트리거
- 프로세스: 개발자가 GitLab 레포지토리에 소스 코드를 Push하거나 Merge Request(MR)를 생성할 때, 미리 등록된 엔드포인트 호스트로 Webhook 이벤트를 송신합니다.
- 기술 포인트: GitLab의 Merge Request Events를 활성화하여 실시간 소스 변경 사항을 감지하는 인터페이스를 구축합니다.
2. Diff 데이터 추출 및 AI 리뷰 컨텍스트 생성
- 프로세스: Webhook을 수신한 호스트 서버는 해당 브랜치의 변경 이력(git diff)을 추출합니다. 불필요한 메타데이터를 제외하고 실제 로직 변화가 담긴 코드 조각만을 정제하여 AI 모델에 전송합니다.
- 기술 포인트: 효율적인 토큰 관리를 위해 변경된 파일 중 리뷰가 필요한 핵심 로직(Business Logic) 위주로 컨텍스트를 구성하는 것이 중요합니다.
3. AI 분석 결과의 피드백 자동화 (Commit & MR 댓글)
- 프로세스: AI 모델로부터 수신한 코드 리뷰 분석 결과(안정성, 가독성, 최적화 제안 등)를 GitLab API를 통해 해당 Commit 라인 혹은 Merge Request의 코멘트 창에 자동으로 작성합니다.
- 기술 포인트: 리뷰어가 즉각적으로 이해할 수 있도록 ‘문제점’, ‘개선 제안’, ‘예시 코드’ 형태의 정형화된 템플릿을 사용하여 피드백을 가독성 있게 제공합니다.
4. 휴먼 리뷰어의 검토 및 최종 승인
- 프로세스: 담당 리뷰어는 AI가 작성한 코멘트를 바탕으로 코드를 검토합니다. AI의 제안이 적절하다고 판단되거나 수정이 완료되면 최종적으로 Approve(승인) 버튼을 클릭합니다.
- 기술 포인트: AI는 보조 도구로서의 역할을 수행하며, 최종 의사결정 권한을 리뷰어에게 부여함으로써 코드 품질에 대한 책임성과 신뢰도를 확보합니다.
5. 제품 환경 반영 및 배포 (CI/CD 연계)
- 프로세스: 승인이 완료된 소스 코드는 메인 브랜치로 병합(Merge)되며, 이후 설정된 CI/CD 파이프라인에 따라 빌드 및 테스트 과정을 거쳐 제품 환경에 최종 반영됩니다.
- 기술 포인트: AI 코드 리뷰 단계를 통과한 코드만 병합될 수 있도록 정책(Merge Checks)을 설정하여 시스템 안정성을 강화합니다.
