[Gitlab] Merge Request 기능이란?

Yuri Lee·2021년 5월 2일
0

병합 요청(MR)은 한 브랜치를 다른 브랜치로 병합하기 위한 요청이다. 병합 요청을 사용하여 소스 코드에 대해 제안된 변경사항을 시각화하고 협업한다.

개요

  • 병합 요청(일명 "MR")은 제안된 변경사항에 대한 많은 정보를 표시한다. MR의 본문에는 위젯(CI/CD 파이프라인이 있는 경우, 관련 정보 표시)과 함께 설명이 포함되며, 그 뒤에 해당 MR로 협업하는 사람들의 토론 스레드가 표시된다.

  • MR에는 스레드에서 발생하는 토론, 커밋 목록, 파이프라인 및 Job 목록, 코드 변경 및 인라인 코드 리뷰를 볼 수 있는 내비게이션 탭도 포함되어 있다.

사용 사례

A. 팀에서 일하는 소프트웨어 개발자일 경우

  1. 새 브랜치를 체크아웃하고 병합 요청을 통해 변경사항을 제출한다.
  2. 팀에서 피드백을 수집한다.
  3. 코드 품질 보고서로 코드를 최적화하는 구현 작업을 수행한다.
  4. GitLab CI/CD의 단위 테스트 보고서로 변경사항을 검증한다.
  5. 라이선스 준수 보고서를 통해 라이선스가 프로젝트와 호환되지 않는 종속성을 사용하지 않도록 한다. (ULIMATE)
  6. 관리자에게 승인을 요청한다. (STARTER)
  7. 관리자 :
    a. 최종 리뷰와 함께 커밋을 푸시한다.
    b. 병합 요청을 승인한다. (STARTER)
    c. 파이프라인이 성공하면 병합되도록 설정한다.
  8. 변경사항은 GitLab CI/CD에 대한 수동 작업을 통해 프로덕션에 배포된다.
  9. 구현이 성공적으로 고객에게 전달된다.

B. 회사의 웹 사이트를 위한 웹페이지를 작성하는 웹 개발자일 경우

  1. 새 브랜치를 체크아웃하고 병합 요청을 통해 새 페이지를 제출한다.
  2. 리뷰어(Reviewers)로부터 피드백을 수집한다.
  3. Review Apps로 변경사항을 미리 볼 수 있다.
  4. 웹 디자이너에게 구현을 요청한다.
  5. 관리자에게 승인을 요청한다. (STARTER)
  6. 승인되면, 병합 요청이 스쿼시(Squash) 및 병합되고, GitLab Pages를 사용하여 스테이징(Staging)에 배포된다.
  7. 프로덕션 팀이 프로덕션으로 병합 커밋을 체리 픽(Cherry-pick) 한다.

상단의 병합 요청 내비게이션 탭

  • 병합 요청에 대한 설명을 포함하는 새 Overview탭이 병합 요청의 맨 위에 위치한다. Overview 옆에서 Commits, Pipelines 및 Changes를 찾을 수 있다.

Merge Request 만들기

  • 모든 병합 요청은 브랜치를 만드는 것으로 시작된다. Git CLI 애플리케이션을 통해 명령 줄로 로컬에서 수행하거나 GitLab UI를 통해 할 수 있다.

  • 새 병합 요청을 시작하면, 방법에 관계없이, New Merge Request 페이지로 이동하여 병합 요청에 대한 정보를 채운다.

  • 방법에 관계없이 새 브랜치를 GitLab에 푸시하면, Create Merge Request 버튼을 클릭하고 거기에서 병합 요청을 시작한다.

New Merge Request 페이지

  • New Merge Request 페이지에서, 병합 요청에 대한 제목과 설명을 작성하여 시작한다. 브랜치에 이미 커밋이 있는 경우 제목은 첫 번째 커밋 메시지의 첫 번째 라인으로 미리 채워지고, 설명은 커밋 메시지의 추가 라인으로 미리 채워진다. 제목은 모든 경우에 필수인 유일한 필드이다.

  • 여기에서, 정보(제목, 설명, 담당자, 마일스톤, 레이블, 승인자)를 입력하고 Create Merge Request 버튼을 클릭할 수 있다.

Create Merge Request 버튼

  • 새 브랜치를 GitLab에 푸시했으면, GitLab의 저장소를 방문하여 화면 상단에서 Create Merge Request 버튼을 클릭할 수 있는 call-to-action(CTA, 행동 유도 또는 클릭 유도)을 확인한다.

https://insight.infograb.net/docs/user/merge_request_features

profile
Step by step goes a long way ✨

0개의 댓글