본문으로 건너뛰기

MR로 협업하기 3편

Merge Request로 개발 협업하기
Michael
· 약 8분

지난 MergeRequest 만들기 포스트에서는 PM(Project Manager)이 이슈를 생성하고 디자이너와 협업하며 MR를 생성하는 부분까지 진행하였습니다.

이번엔 MR(MergeRequest)로 개발자와 협업하는 방법에 대해 자세히 알아보겠습니다.

이전편은 아래 링크에서 확인하세요.

  1. MergeRequest 왜 사용해야 할까?
  2. MergeRequest 만들기
  3. MergeRequest로 개발 협업하기
  4. Merge Request의 장점

Merge Request 만들기! (실습)

예제 링크: https://gitlab.com/infograb-public/gitlab/mr-sample

지난 시간의 실습 내용과 이어집니다. 지난 내용을 확인하지 못했다면 이전 포스트를 먼저 확인하세요.

시나리오 실행

자신에게 할당된 MR 찾기

  • 개발자는 자신에게 할당된 MR을 확인해야 합니다. 상단 메뉴에서 MR아이콘을 클릭하고 Assigned to you버튼을 클릭합니다.

    협업 | 인포그랩 GitLab
  • 그러면 아래와 같이 할당된 MR 리스트를 확인 할 수 있습니다.

    협업 | 인포그랩 GitLab
  • MR로 들어가면 MR에 대한 내용을 확인 할 수 있습니다. Related Issues에 있는 링크를 통해 이슈에 대한 히스토리를 확인 할 수 있습니다.

    협업 | 인포그랩 GitLab

코드 수정과 커밋

개발자는 할당된 MR을 통해 자신이 개발해야하는 기능을 파악하였고, 이제 코드를 수정할 차례입니다.
이번 실습에서는 Web IDE를 활용하여 수정해보겠습니다.

  1. MR의 코드 추적은 브랜치 기준으로 이루어 집니다.
    그렇기 때문에 먼저 feature/login 브랜치를 선택하여 이동합니다.

    협업 | 인포그랩 GitLab
  2. 브랜치가 맞는지 확인한 후, Web IDE로 들어갑니다.

    협업 | 인포그랩 GitLab
  3. Web IDE에서 코드를 수정합니다.
    수정 완료 후에는 다시 한번 해당 브랜치가 맞는지 확인 후, Commit버튼을 눌러 Commit 합니다.

    협업 | 인포그랩 GitLab

아티펙트로 변경내용 확인하기

이제 PM은 MR화면으로 돌아와 변경된 사항을 확인합니다.

  • 파이프라인이 정상 완료된 것을 확인한 후, 아티펙트를 다운로드 받습니다.

    협업 | 인포그랩 GitLab
  • 압축을 풀고, android/app/build/outputs/apk/debug 경로의 app-debug.apk 파일을 설치하여 변경사항을 확인할 수 있습니다.

    협업 | 인포그랩 GitLab

변경내용 리뷰하기(코드 리뷰)

  • MR화면의 Commits 탭에서 커밋 목록을 확인할 수 있습니다.

    협업 | 인포그랩 GitLab
  • 해당 Commit을 클릭하여 들어가 보면 변경된 코드를 확인할 수 있습니다. 리뷰가 필요한 코드 라인 왼쪽의 말풍선 아이콘을 클릭하여 리뷰를 남길 수 있습니다. 리뷰내용을 작성하고 Start a review버튼을 클릭하여 리뷰를 진행합니다.

    협업 | 인포그랩 GitLab
  • 그러면 아래와 같이 코멘트가 생성됩니다. 리뷰를 완료하면, Submit review 버튼을 클릭합니다.

    협업 | 인포그랩 GitLab

코드 리뷰 해결하기

MR화면을 내려보면 Commit 등 모든 히스토리를 확인할 수 있습니다.

  • 맨 밑에서 방금 추가한 리뷰를 확인할 수 있습니다. 내용을 확인하고 코드를 수정합니다.

    협업 | 인포그랩 GitLab
  • 코드 수정은 코드 수정과 커밋에서 진행한 방법과 동일합니다.

리뷰 완료하기

  • PM은 MR화면 상단 메뉴에서 Jump to next unresolved thread버튼을 누르면 완료되지 않은 리뷰를 확인할 수 있습니다. 그리고 원하는 리뷰에서 Compare chages 버튼을 통해 변경된 내용을 확인할 수 있습니다.

    협업 | 인포그랩 GitLab
  • 변경된 내용을 화면으로 확인하고 싶다면 **'아티펙트로 변경내용 확인하기를 다시 진행하여 변경된 app-debug.apk 파일을 새로 설치하여 확인합니다.

  • 변경 사항을 모두 확인하고 리뷰를 마무리하고 싶다면 Resolve thread버튼을 눌러서 리뷰를 완료합니다.

    협업 | 인포그랩 GitLab

MR를 main 브랜치로 Merge하기

  • PM은 이제 MR화면에서 모든 리뷰가 완료되었다는 표시를 확인할 수 있습니다.

    협업 | 인포그랩 GitLab
  • 화면을 아래로 내리면 Merge버튼이 비활성되어 있는 것을 확인할 수 있습니다. Merge를 실행할 준비가 완료 되었다면 Mask as ready버튼을 눌러서 Merge버튼을 활성화 합니다.

    협업 | 인포그랩 GitLab
  • 활성화된 Merge 버튼을 누르면 Merge가 진행됩니다.

    협업 | 인포그랩 GitLab
  • main 브랜치로 Merge된 것을 확인할 수 있습니다. 파이프라인을 보면 main 브랜치에서만 진행되는 release 단계를 확인할 수 있습니다. 이는 현재 프로젝트의 gitlab-ci.yml 파일에서 설정이 main 브랜치에서만 release가 실행되도록 설정되어 있기 때문입니다.

    협업 | 인포그랩 GitLab

여기까지 Merge Request로 개발자와 협업하는 과정을 진행해 보았습니다.
다음 편에서는 각 포지션 별로 Merge Request가 어떤 이점을 주는지 알아보도록 하겠습니다.