GitLab Issue의 Merge Request
1. Merge Request
소스 브랜치에서 타겟 브랜치로 변경 내용을 통합하려면 Merge Request(MR)를 사용합니다.
Merge Request을 열면 merge 전에 변경 내용을 시각화하여 공동 작업할 수 있습니다. Merge Request에는 다음이 포함됩니다:
요청에 대한 설명
코드 변경 사항 및 인라인 코드 리뷰
CI/CD 파이프라인에 대한 정보
토론 스레드에 대한 커멘트 섹션
커밋 목록
2. Merge Request Approvals
Merge Request을 병합하기 전에 반드시 승인을 받도록 Merge Request을 구성할 수 있습니다. GitLab Free에서는 Developer 이상의 권한을 가진 모든 사용자가 Merge Request을 승인할 수 있지만, 이러한 승인은 선택 사항입니다. GitLab Premium과 GitLab Ultimate는 추가적인 유연성을 제공합니다:
작업을 병합하기 전에 승인자의 수와 유형에 대한 필수 규칙을 만들 수 있습니다.
특정 파일의 코드 소유자 역할을 하는 사용자 목록을 지정하고 작업을 병합하기 전에 해당 사용자의 승인을 받아야 합니다.
프로젝트별로 Merge Request 승인을 구성할 수 있으며, 일부 승인은 그룹 수준에서 구성할 수 있습니다. Merge Request 승인 규칙에 대한 그룹 수준 설정 지원은 이 에픽에서 추적됩니다. 자체 관리형 GitLab 인스턴스인 GitLab Premium 및 GitLab Ultimate의 관리자는 전체 인스턴스에 대한 승인도 구성할 수 있습니다.
Required approvals - Premium
Required approvals는 지정한 사용자 수와 유형에 따라 코드 검토를 시행합니다. 승인이 없으면 작업을 병합할 수 없습니다. Required approvals은 다양한 유즈 케이스를 지원합니다:
리포지토리에 병합되는 모든 코드에 대해 검토를 적용
승인 규칙을 통해 제안된 코드 변경에 대한 검토자 및 최소 검토자 수를 지정
제안된 모든 코드 변경에 대해 백엔드, 프론트엔드, 품질 보증 또는 데이터베이스와 같은 검토자 카테고리를 지정
변경된 파일의 코드 소유자를 사용하여 누가 작업을 검토해야 하는지 결정
테스트 커버리지 감소를 유발하는 코드를 병합하기 전에 승인 필수
3. GitLab 실습
Core 서브그룹의 Database 프로젝트에 “Add approval rule” 설정
Rule name : Infra 팀 승인
Approvers : Infra Team 서브그룹
Merge request 생성
Core 서브그룹의 Database 프로젝트의 “DB 생성” 이슈 선택
“Create merge request” 클릭
“Create merge request and branch” 체크 확인
Branch name에서 “
update-db-script
" 입력Description의 “
Closes <ISSUE NUMBER>
“ 삭제Merge request 세부 정보 페이지에서 Code > Open in Web IDE를 선택하여
update-db-script
브랜치에서 파일을 편집합니다.왼쪽 파일 창에서 README.md를 클릭 후 내용 변경하고 Commit 클릭
Merge Request 페이지 중간에서 Mark as ready로 표시를 클릭하여 Merge Request을 초안 모드에서 해제
코드 리뷰 및 변경사항 병합
Infra Team 서브그룹 멤버로 로그인
생성된 Merge Request 확인
Approve 클릭