지난 MergeRequest 만들기 포스트에서는 PM(Project Manager)이 이슈를 생성하고 디자이너와 협업하며 MR를 생성하는 부분까지 진행하였습니다.
이번엔 MR(MergeRequest)로 개발자와 협업하는 방법에 대해 자세히 알아보겠습니다.
이전편은 아래 링크에서 확인하세요.
Merge Request 만들기! (실습)
예제 링크: https://gitlab.com/infograb-public/gitlab/mr-sample
지난 시간의 실습 내용과 이어집니다. 지난 내용을 확인하지 못했다면 이전 포스트를 먼저 확인하세요.
시나리오 실행
자신에게 할당된 MR 찾기
-
개발자는 자신에게 할당된 MR을 확인해야 합니다. 상단 메뉴에서 MR아이콘을 클릭하고
Assigned to you
버튼을 클릭합니다. -
그러면 아래와 같이 할당된 MR 리스트를 확인 할 수 있습니다.
-
MR로 들어가면 MR에 대한 내용을 확인 할 수 있습니다. Related Issues에 있는 링크를 통해 이슈에 대한 히스토리를 확인 할 수 있습니다.
코드 수정과 커밋
개발자는 할당된 MR을 통해 자신이 개발해야하는 기능을 파악하였고, 이제 코드를 수정할 차례입니다.
이번 실습에서는 Web IDE를 활용하여 수정해보겠습니다.
-
MR의 코드 추적은 브랜치 기준으로 이루어 집니다.
그렇기 때문에 먼저feature/login
브랜치를 선택하여 이동합니다. -
브랜치가 맞는지 확인한 후, Web IDE로 들어갑니다.
-
Web IDE에서 코드를 수정합니다.
수정 완료 후에는 다시 한번 해당 브랜치가 맞는지 확인 후,Commit
버튼을 눌러 Commit 합니다.
아티펙트로 변경내용 확인하기
이제 PM은 MR화면으로 돌아와 변경된 사항을 확인합니다.
-
파이프라인이 정상 완료된 것을 확인한 후, 아티펙트를 다운로드 받습니다.
-
압축을 풀고,
android/app/build/outputs/apk/debug
경로의app-debug.apk
파일을 설치하여 변경사항을 확인할 수 있습니다.
변경내용 리뷰하기(코드 리뷰)
-
MR화면의 Commits 탭에서 커밋 목록을 확인할 수 있습니다.
-
해당 Commit을 클릭하여 들어가 보면 변경된 코드를 확인할 수 있습니다. 리뷰가 필요한 코드 라인 왼쪽의
말풍선 아이콘
을 클릭하여 리뷰를 남길 수 있습니다. 리뷰내용을 작성하고Start a review
버튼을 클릭하여 리뷰를 진행합니다. -
그러면 아래와 같이 코멘트가 생성됩니다. 리뷰를 완료하면,
Submit review
버튼을 클릭합니다.
코드 리뷰 해결하기
MR화면을 내려보면 Commit 등 모든 히스토리를 확인할 수 있습니다.
-
맨 밑에서 방금 추가한 리뷰를 확인할 수 있습니다. 내용을 확인하고 코드를 수정합니다.
-
코드 수정은 코드 수정과 커밋에서 진행한 방법과 동일합니다.
리뷰 완료하기
-
PM은 MR화면 상단 메뉴에서
Jump to next unresolved thread
버튼을 누르면 완료되지 않은 리뷰를 확인할 수 있습니다. 그리고 원하는 리뷰에서Compare chages
버튼을 통해 변경된 내용을 확인할 수 있습니다. -
변경된 내용을 화면으로 확인하고 싶다면 **'아티펙트로 변경내용 확인하기를 다시 진행하여 변경된
app-debug.apk
파일을 새로 설치하여 확인합니다. -
변경 사항을 모두 확인하고 리뷰를 마무리하고 싶다면
Resolve thread
버튼 을 눌러서 리뷰를 완료합니다.
MR를 main
브랜치로 Merge하기
-
PM은 이제 MR화면에서 모든 리뷰가 완료되었다는 표시를 확인할 수 있습니다.
-
화면을 아래로 내리면
Merge
버튼이 비활성되어 있는 것을 확인할 수 있습니다. Merge를 실행할 준비가 완료 되었다면Mask as ready
버튼을 눌러서Merge
버튼을 활성화 합니다. -
활성화된
Merge
버튼을 누르면 Merge가 진행됩니다. -
main
브랜치로 Merge된 것을 확인할 수 있습니다. 파이프라인을 보면main
브랜치에서만 진행되는release
단계를 확인할 수 있습니다. 이는 현재 프로젝트의gitlab-ci.yml
파일에서 설 정이main
브랜치에서만 release가 실행되도록 설정되어 있기 때문입니다.
여기까지 Merge Request로 개발자와 협업하는 과정을 진행해 보았습니다.
다음 편에서는 각 포지션 별로 Merge Request가 어떤 이점을 주는지 알아보도록 하겠습니다.