코드 리뷰를 도와주는 도구 중 Jetbrains 에서 만든 Upsource 라는 유명한 도구가 있다. 하지만 2022년 2월에 지원 종료를 하면서 기존에 사용하는 유저들만 계속 지원하고, 신규로 사용하고자 한다면 Space 라고 하는 통합 개발 플랫폼을 이용하라고 말한다.
현재 회사에서는 Upsource 를 이용하고 있지 않았고, 통합 개발 플랫폼도 사실상 GitLab 을 사용하고 있었기 때문에 Space 를 사용할 수도 없었다. 코드 리뷰를 하기 위한 도구를 물색하면서 Codestream 이라던가 다른 도구들을 살펴보았지만, Upsource 만큼의 편의성을 제공하는 도구는 없어보였다. Jetbrains 의 Marketplace 에서 GitLab MR 관련된 플러그인이 있긴 했지만 유료였다.
그렇게 딱히 사용할 것이 없어보이던 중, 올해 7월 Jetbrains 에서 아래와 같은 업데이트를 했다고 릴리즈 소식이 올라왔었다.
드디어 IDEA 2023.2 버전부터 GitLab 통합을 지원하다고 올라온 것이다.
비록 현재는 GitLab 15.10 버전 이상만 지원한다고 하지만 향후 다른 버전들과 커뮤니티 에디션도 지원할 것이라고 한다.
한번 맛보기로 사용해보려고 했으나 회사에서는 설치형 GitLab 14.10 버전이기에 당장 이용을 할 수 없었다.
그러나 IDEA 2023.3 EAP 에서 14.10 버전을 지원하고 있다는 것을 찾아냈다. 2023.2 에서 다른 버전을 내놓지 않은 이유는 버그 픽스 때문이라고.
https://www.jetbrains.com/idea/nextversion/ 으로 가면 다운로드해서 사용해볼 수 있다.
Jetbrains 에서 GitLab 통합을 하는 방법은 상당히 간단하다.
방법
1. 현재 이용하고 있는 GitLab 에서 '(개인) 환경설정 > 액세스 토큰' 페이지로 이동한다.
2. 토큰 이름은 식별 가능한 이름으로 넣어주고, 만료일은 원하는 날짜로 기입한다. scope 는 api 를 선택해준다.
그리고 'Create personal access token' 버튼을 누르면 맨 위에 토큰이 나타난다. 이 토큰을 복사한다.
3. Jetbrains 에서 'Preferences...' (환경설정) 으로 들어간다.
4. 왼쪽 메뉴 중에 'Version Control > GitLab' 을 선택한다. 그리고 우측 화면에서 'Add account...' 를 누른다.
5. GitLab 호스트와 아까 위에서 발급받은 토큰을 입력하고 로그인한다. GitLab 호스트는 설치형 GitLab 도 상관없다.
6. 아래와 같이 계정이 추가되면 성공한 것이다. OK 를 눌러서 빠져나가자.
7. 왼쪽 메뉴에서 'Merge Requests' 라는 탭이 생기게 되는데, 탭을 눌러보면 Select Box 가 있다. 여기 목록에 나타나는 것은 현재 열려있는 프로젝트의 Git Origin 을 토대로 나타나는 것으로 보인다.
만약, 'Merge Requests' 라는 탭조차 보이지 않으면 Jetbrains 메뉴를 찾아보면 있다.
origin 을 선택하고 'View Merge Requests' 버튼을 누른다.
8. 아래와 같이 MR 목록이 출력된다. 기본적으로는 열려있는 MR 들이 보이게 된다.
만약, 다른 origin 의 MR 을 보고 싶으면 우측 위의 톱니바퀴에서 되돌아 갈 수 있다.
9. MR 중 하나를 선택하게 되면 아래와 같이 변경사항과 함께 히스토리가 나타난다.
10. 파일을 선택하게 되면 코드에 변경사항이 색깔과 함께 나타난다.
기본적으로 수정을 하늘색으로, 추가를 초록색으로 보여준다.
리뷰를 했던 사항은 코드 바로 아래에 보여지게 되며 Reply 나 Resolve 가 가능하다. 또한 원하는 부분에 리뷰를 달 수도 있다.
글을 쓰는 시점에서는 2023.2 버전이 최신이고 앞으로 버전이 업데이트되면 14.10 버전과 같은 낮은 버전에서도 지원할 것으로 보인다.
만약, 지금 당장이라도 사용해보고 싶다면 EAP 버전으로 설치해서 이용해볼 수 있다.
'프로그래밍 > GIT' 카테고리의 다른 글
[GIT] 특정 시점에서의 변경 내역만 되돌리기 (0) | 2023.09.14 |
---|---|
[GIT] GIT 원격 origin 변경 방법 (0) | 2022.09.21 |
[GitLab] rsync 를 이용한 cicd 자동화 배포 (0) | 2022.06.09 |
[GIT] SVN 에서 GIT 으로 이전하기 (0) | 2022.06.09 |
[GIT] git add * 과 git add . 차이 (0) | 2019.08.29 |