Programming/Git

github team code review 사용해보기

유로띠 2024. 3. 15. 19:58
반응형

안녕하세요 😉

유유자적한 개발자 유로띠 입니다 😀

 

 

👏👏👏👏

 

 

이번 포스팅에서는

✅ github team code review 란?

team code review 설정

에 대해서 알아보겠습니다

 

 

 

 

github team code review


 

✅  github team code review(팀 코드리뷰) 란?

PR(pull request)에 대해서 리뷰어(reviewers)를 지정할 때 자동 할당 기능을 통해 팀  구성원의 지정된 하위 집합이 팀 위치에 할당됩니다.

 

 

team code review 언제 사용하면 좋을까?

매번 pr을 올리고 동일한 리뷰어를 검색하여 지정하는 건 매우 귀찮고 반복적인 일입니다. 물론 code owners로 사용자를 지정하면 매번 추가하지 않아도 자동으로 지정됩니다.

하지만 code owners도 해당 사용자가 부서이동이 있는 경우 코드를 변경을 해주어야 합니다.

또한, pr의 리뷰어가 매번 동일한 사용자로 설정되면 오히려 '내가 아닌 누군가는 리뷰 해주겠지?'라는 방관자 효과가 작용하여 보지 않기 때문에 참여도는 낮아지게 됩니다.

결국 리뷰가 쌓이게 되고 전반적인 업무 속도가 늦어지게 됩니다. 🙅‍♂️

 

team code review의 장점은 다음과 같습니다.

🙆‍♂️ 매번 code owners의 코드 수정 없이 인원 변동이 있다면 team만 수정하면 됩니다.

🙆‍♂️ 팀 내의 모든 사용자에게 리뷰어 요청이 되는 것이 아닌 설정에 따라 리뷰어 설정이 가능하기 때문에 리뷰어 역할에 무게를 줄 수 있습니다.

 

✅  team code review 설정

team code review 설정

github 조직을 선택한 후 Teams 선택합니다.

 

 

 

 

Settings 탭을 선택한 후 왼쪽에서 Code review를 선택합니다.

 

 

Enable auto assignment

: 자동 할당을 사용하도록 선택합니다. 해당옵션을 선택하면 자동으로 팀 멤버에게 리뷰어가 할당됩니다.

단, 사용자의 상태가 Busy 인 경우 할당되지 않습니다.

 

자동할당을 사용하면 아래의 옵션을 통해 할당 방식을 정할 수 있습니다.

 

How many team members should be assigned to review?

: 몇 명의 리뷰어에게 할당해야 하는지 설정합니다.

 

Routing algorithm

: Round robin, Load balance 둘 중에 하나의 알고리즘을 사용합니다.

 

Round robin(: 라운드 로빈)

: 가장 오래된 검토 요청을 받은 사용자를 기준으로 검토자를 선택하며, 현재 보유하고 있는 미해결 리뷰 수에 관계없이 팀의 모든 구성원 간에 교대로 전환하는 데 초점을 맞춥니다.

 

Load balance(: 부하 분산)

: 각 구성원이 최근에 받은 검토 요청의 총 수에 따라 검토자를 선택하고 각 구성원의 미해결 검토 수를 고려합니다. 부하 분산 알고리즘은 각 팀 구성원이 30일 동안 동일한 수의 끌어오기 요청을 검토하도록 합니다.

 

Child team members

: 팀의 하위 팀이 존재하고 구성원이 존재하면 하위의 구성원까지 팀 멤버의 할당 범위에 포함할 건지의 옵션입니다.

 

Count existing requests

: 자동 할당 이외에 이미 검토가 진행 중인 멤버의 수까지 리뷰어 할당 구성원 수에 포함할지에 대한 옵션입니다.

선택하면 자동 할당 카운트에 포함되기 때문에 저는 선택하지 않았습니다.

 

Team review request

: 팀 단위로 리뷰어를 지정할지 아니면 팀 안의 멤버단위로 리뷰어를 지정할지를 선택하는 옵션입니다.

선택하면 팀 단위가 아닌 멤버 단위로 리뷰어가 지정됩니다.

 

설정은 완료되었습니다.

 

 

team 권한 설정

 

자동 할당 기능을 사용할 repository에서 팀에 대한 권한 부여가 필요합니다.

 

repository > Collaborators and teams에서 team을 추가하고 권한을 부여(Admin)합니다.

 

참고로 하위 팀이 존재한다면 하위팀도 추가해야 합니다.

 

 

code owners 추가

code owners 설정 시 사용자가 아닌 팀을 추가합니다. 하위 팀이 있다면 하위 팀도 추가합니다.

 

.github/CODEOWNERS

* @organization/platform2 @organization/platform2-1 @organization/platform2-2

 

 

 

✅  PR 생성 후 확인

 

pr을 올려보면 다음처럼 확인이 가능합니다.

 

code owners를 통해 자동으로 팀단위로 리뷰가 요청되었습니다.

code review 설정을 통해 팀 내의 구성원 개별적으로 리뷰가 할당됨을 알 수 있습니다.

 

 

마치며


 

해당 기능은 최신 기능은 아니고 전부터 있던 기능입니다.

이번에 유연한 코드리뷰를 하기 위해 어떻게 해야 할까 찾아보다가 발견하여 공유하게 되었습니다.

전보다 명확하게 리뷰어를 지정하기 때문에 방관자 효과가 줄어든 기분입니다.

현재 팀에서도 잘 사용하고 있습니다. 🙌

 

 

 

 

참고

https://docs.github.com/en/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team

 

Managing code review settings for your team - GitHub Docs

You can decrease noise for your team by limiting notifications when your team is requested to review a pull request.

docs.github.com

 

반응형