병합 요청 승인

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

프로젝트의 변경 사항에 대한 리뷰 프로세스를 설정하려면 병합 요청 승인을 구성하세요. 이를 통해 변경 사항이 프로젝트에 병합되기 전에 리뷰되도록 보장할 수 있습니다. 프로젝트의 요구 사항과 GitLab 등급에 따라 승인을 선택하거나 필수로 구성할 수 있습니다.

  • GitLab Free를 사용하면 적어도 개발자 역할을 가진 모든 사용자가 병합 요청을 승인할 수 있습니다. 이러한 승인은 선택 사항이며 승인 없이 병합이 가능합니다.
  • GitLab PremiumGitLab Ultimate를 사용하면 다음과 같은 더 많은 유연성이 제공됩니다:

    • 필요한 승인의 수 및 유형에 대한 규칙을 생성할 수 있습니다.
    • 특정 파일에 대한 Code Owners 목록을 생성할 수 있습니다.
    • 전체 인스턴스에 대한 승인을 구성할 수 있습니다(../../../../administration/merge_requests_approvals.md).
    • 그룹 병합 요청 승인 설정을 구성할 수 있습니다.

      참고: 그룹 병합 요청 승인 설정은 에픽 4367에서 추적됩니다.

승인 규칙 구성

전제 조건:

  • 프로젝트에 대한 적어도 개발자 역할이 있어야 합니다.

승인 규칙을 구성하려면:

  1. 프로젝트의 설정 > 병합 요청으로 이동합니다.
  2. 병합 요청 승인 섹션으로 이동합니다.
  3. 원하는 규칙을 설정합니다.

또한 다음을 구성할 수 있습니다:

규칙 구성에 대한 자세한 정보는 승인 규칙을 참조하세요.

필수 승인

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

필수 승인은 지정된 사용자에 의한 코드 리뷰를 강제합니다. 이러한 승인이 없으면 병합이 불가능합니다.

사용 사례는 다음과 같습니다:

  • 저장소에 병합되는 모든 코드를 검토함을 강제합니다.
  • 리뷰어 및 필수 승인의 최소 수를 지정합니다.
  • 백엔드, 프론트엔드, 품질 보증, 데이터베이스 또는 문서 작성과 같은 리뷰어 카테고리를 지정합니다.
  • Code Owners 파일을 사용하여 리뷰어를 결정합니다.
  • 테스트 커버리지 감소에 대한 승인을 요구합니다.
  • GitLab Ultimate: 잠재적인 취약점에 대한 보안팀 승인을 요구합니다.

승인 상태 보기

병합 요청의 승인 상태는 두 가지 위치에서 볼 수 있습니다. 병합 요청 자체와 프로젝트 또는 그룹의 병합 요청 목록에서 확인할 수 있습니다.

단일 병합 요청에 대한

자격이 있는 승인자는 단일 병합 요청의 승인 상태를 볼 수 있습니다.

승인 상태를 확인하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 코드 > 병합 요청으로 이동하여 병합 요청을 찾습니다.
  3. 병합 요청의 제목을 선택하여 병합 요청을 볼 수 있습니다.
  4. 승인 상태를 보려면 병합 요청 위젯으로 이동합니다. 이 예제에서 병합 요청을 승인할 수 있습니다:

    병합 요청 위젯이 승인 상태를 보여주는 이미지

위젯에는 다음 중 하나의 상태가 표시됩니다:

  • 승인: 병합 요청에 대한 추가 승인이 필요합니다.
  • 추가로 승인: 병합 요청에 필요한 승인이 완료되었습니다.
  • 승인 취소: 이미 병합 요청을 승인했습니다.

자신의 승인이 Code Owner 요구 사항을 충족하는지 확인하려면 자격이 있는 승인자 확장 ()을 선택합니다.

병합 요청 목록에서

프로젝트 또는 그룹의 병합 요청 목록에서 각 병합 요청의 승인 상태를 볼 수 있습니다:

예시 설명
아직 승인되지 않은 승인 필요한 승인이 누락되었습니다. ()
승인이 완료됨 승인이 완료되었습니다. ()
승인 완료 및 본인의 승인 승인이 완료되었으며 본인이 승인자 중 하나입니다. ()

개별 리뷰어의 상태

각 리뷰어의 검토 및 승인 상태를 확인하려면:

  1. 병합 요청을 엽니다.
  2. 오른쪽 사이드바를 확인합니다.

각 리뷰어의 상태는 해당 이름 옆에 표시됩니다.

  • 리뷰 대기 중
  • 진행 중인 리뷰
  • 승인됨
  • 리뷰어가 의견을 남겼음
  • 리뷰어가 변경 사항을 요청함

    이 리뷰어는 변경 사항을 요청했으며 이 병합 요청을 차단했습니다.

리뷰를 다시 요청하려면 사용자 옆의 리뷰 다시 요청 아이콘 ()을 선택합니다.

병합 요청 승인

자격이 있는 승인자는 병합 요청을 두 가지 방법으로 승인할 수 있습니다:

  1. 병합 요청 위젯에서 승인을 선택합니다.
  2. 댓글에서 /approve 빠른 조치를 사용합니다.

승인된 병합 요청은 리뷰어 목록에서 해당 사용자 이름 옆에 녹색 확인 마크 ()가 표시됩니다. 필요한 승인을 받은 후 병합 요청은 다음과 같은 이유로 차단될 수 있습니다:

작성자 승인 방지

병합 요청 작성자가 자신의 작업을 승인하는 것을 방지하려면 작성자에 의한 승인 방지 설정을 활성화하세요.

승인 규칙 변경

승인 규칙 재정의를 활성화하면 기본 승인 규칙에 대한 변경이 기존 병합 요청에 영향을주지 않습니다. 단, 대상 브랜치 변경은 예외입니다.

유효하지 않은 규칙

  • GitLab 15.1에서 도입됨.
  • 기본적으로 비활성화되어 있는 invalid_scan_result_policy_prevents_merge라는 플래그로 GitLab 15.11에서 변경됨. 기본적으로 비활성화됨.
  • GitLab 16.2에서 일반 사용 가능. 피처 플래그 invalid_scan_result_policy_prevents_merge 제거됨.

GitLab은 다음과 같은 경우에 승인 규칙을 자동 승인으로 표시합니다.

  • 유일한 적격 승인자가 병합 요청 작성자인 경우
  • 적격 승인자가 규칙에 할당되지 않은 경우
  • 필요한 승인이 적격 승인자 수를 초과하는 경우

이러한 규칙은 병합 요청을 해제하기 위해 자동으로 승인됩니다. 단, 이러한 규칙이 병합 요청 승인 정책을 통해 생성된 경우에 해당합니다.

유효하지 않은 정책으로 생성된 규칙:

  • 조치 필요로 표시됩니다.
  • 자동으로 승인되지 않습니다.
  • 영향을 받는 병합 요청을 차단합니다.

관련 주제