지난 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가 어떤 이점을 주는지 알아보도록 하겠습니다.