[GitHub] 코드래빗 (CodeRabbit)으로 PR 자동 리뷰 설정하기
최근 프로젝트에 코드래빗을 연동해서 자동 코드 리뷰를 받아봤다. 리뷰가 깔끔하게 요약되기도 하고, 변경점 설명도 잘 해줘서 꽤 쓸만했는데, 설정 과정에서 놓치기 쉬운 포인트가 있어서 기록해두려고 한다.
AI Code Reviews | CodeRabbit | Try for Free
Most advanced AI code reviews that catches 95%+ bugs. Free your devs to ship code faster.
www.coderabbit.ai
1. CodeRabbit에 접속한 뒤 'Get a free trial'을 클릭한다.
2. Github와 연동하기 위해 'Sign up with GitHub'를 클릭한다.
3. 깃허브 내에서 CodeRabbit을 적용하고 싶은 레포지토리를 연결한다.
나는 Organization의 한 레포만 적용할거라 Select repositories로 선택해줬다!
4. 설정에서 코드 리뷰 언어 한글, 자동 리뷰로 변경한다.
Organization Settings > Configuration > General에서 Review Language를 Korean으로 설정한다.
그리고 Review > AutoReview에서 Auto Review를 on 해준다.
설정이 끝나고 나서 확인해보니, 자동 리뷰가 되지 않았다.
5. 자동 리뷰가 안 되는 이유: Review skipped
처음에는 PR을 만들었는데도 리뷰가 안 달렸다. 대신 아래와 같은 메시지가 달렸는데, 핵심은 “기본 브랜치가 아닐 경우 자동 리뷰가 비활성화된다”는 내용이었다.
Auto reviews are disabled on base/target branches other than the default branch.
즉, main 브랜치가 아닌 곳으로 PR을 보냈을 때는 자동 리뷰가 스킵된다.
이걸 해결하기 위해 내가 시도한 방식은 두 가지다.
1) 댓글로 호출하기
가장 간단한 방법은 PR에 댓글로 @coderabbitai review를 입력하는 것이다.
나는 한국어로 리뷰를 받기 위해 language=korean도 추가했다.
그러면 CodeRabbit이 바로 수동 리뷰를 시작한다.
자동은 아니지만, 설정 없이도 간편하게 쓸 수 있다.
이렇게 아주 친절한 리뷰를 달아준다!
2) .coderabbit.yaml 설정 추가
두 번째는 아예 모든 브랜치에서 자동 리뷰가 가능하도록 설정 파일을 커밋하는 방법이다.
프로젝트 루트 폴더에 아래 두 개 파일을 추가했다:
- .coderabbit.yaml
- schema.v2.json (자동완성용 스키마 파일)
.coderabbit.yaml 파일 내용은 아래와 같이 작성했다.
# .coderabbit.yaml
language: "ko-KR"
early_access: false
reviews:
profile: "chill"
request_changes_workflow: true
high_level_summary: true
poem: false
review_status: true
collapse_walkthrough: false
auto_review:
enabled: true
drafts: false
allowed_base_branches:
- "*" # 모든 브랜치에서 PR 리뷰
chat:
auto_reply: true
여기서 중요한 건 allowed_base_branches 항목이다. 이걸 넣어줘야 기본 브랜치가 아니어도 자동 리뷰가 실행된다.
추가로 .coderabbit.yaml을 작성할 때 자동완성을 받고 싶다면 schema.v2.json을 루트에 두고, VSCode의 settings.json에 아래처럼 설정을 추가하면 된다.
먼저, https://www.coderabbit.ai/integrations/schema.v2.json 을 열어서 json파일을 다운로드 받고 루트 디렉토리에 위치시킨다.
그리고 Vscode 설정에서 파일 경로로 업데이트 시키면 된다.
- Cmd + Shift + P
- Preferences: Open Settings (JSON)
하단에 아래 코드를 추가한다.
"yaml.schemas": {
"file:./schema.v2.json": "/.coderabbit.yaml"
}
6. 자동으로 PR에 작성된 리뷰
이 PR은 develop의 올려진 많은 커밋들을 배포된 main 브랜치로 올리는 PR이라서 조금 많은 시간이 소요되었다 ㅎㅎ
PR의 전체적인 개요도 정리해주고, 시퀀스 다이어그램도 그려준다!
이런식으로 각 파일의 코드들에 대해서도 리뷰를 달아준다 ..... (무섭다)
코드래빗을 처음 연동하면 리뷰가 안 달려서 당황할 수 있는데, 알고 보면 단순한 브랜치 설정 문제였다.
.coderabbit.yaml을 잘 설정해두면, 브랜치에 상관없이 자동 리뷰를 받을 수 있고 리뷰 품질도 꽤 만족스러웠다.
설정 한번 해두고 나면 정말 편하다.... 앞으로 이 피드백들로 코드 퀄리티를 높여보도록 해야겠다.