병합 요청 승인

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

병합되기 전에 병합 요청이 승인되어야 하도록 구성할 수 있습니다. GitLab Free는 모든 Developer 이상의 사용자가 병합 요청을 승인할 수 있지만, 이러한 승인은 선택 사항입니다. GitLab PremiumGitLab Ultimate은 추가적인 유연성을 제공합니다:

  • 작업을 병합하기 전에 필요한 규칙을 지정하여 승인자의 수와 유형을 설정합니다.
  • 특정 파일에 대한 code owners로 구성하고, 작업을 병합하기 전에 그들의 승인을 요구합니다.
  • GitLab Premium 및 GitLab Ultimate에서 전체 인스턴스에 대한 승인을 구성합니다(../../../../administration/merge_requests_approvals.md).

병합 요청 승인을 프로젝트 별로 구성할 수 있으며, 일부 승인은 그룹 레벨에서 구성할 수 있습니다. 병합 요청 승인 규칙에 대한 그룹 레벨 설정은 다음 epic에서 추적됩니다.

승인 방법

병합 요청 승인 규칙을 사용하여 프로젝트로의 작업이 병합되기 전에 필요한 최소한의 승인 수를 설정할 수 있습니다. 또한 이러한 규칙을 확장하여 어떤 유형의 사용자가 작업을 승인할 수 있는지를 정의할 수 있습니다. 만들 수 있는 규칙의 예시로는 다음과 같은 것들이 있습니다:

  • 특정 권한이 있는 사용자는 항상 작업을 승인할 수 있습니다.
  • Code owners는 소유한 파일에 대해 작업을 승인할 수 있습니다.
  • 특정 권한이 있는 사용자는 작업을 승인할 수 있으며, 해당 권한이 없더라도 저장소에 merge 할 권한이 없더라도 승인할 수 있습니다.
  • 특정 권한이 있는 사용자는 특정 작업의 승인 규칙을 편집하거나 재정의할 수 있도록 허용되거나 거부될 수 있습니다.

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

  • 보다 감독 및 보안 수준을 설정하기 위한 병합 요청 승인 추가 설정.
  • GitLab UI나 병합 요청 승인 API를 통해 병합 요청 승인 규칙 및 설정을 구성합니다.

승인은 병합 요청이 병합된 후에 변경될 수 없습니다.

병합 요청 승인

좋은 승인자가 열린 병합 요청을 방문하면, GitLab은 병합 요청의 본문 뒤에 다음 중 하나의 버튼을 표시합니다:

  • 승인: 병합 요청은 필요한 승인 수를 아직 갖고 있지 않습니다.
  • 추가로 승인: 병합 요청은 필요한 승인 수를 제공합니다.
  • 승인 철회: 병합 요청을 이미 승인한 사용자가 병합 요청을 보고 있습니다.

자격을 갖춘 승인자는 또한 병합 요청에 댓글을 추가할 때 /approve 빠른 조치를 사용할 수 있습니다. 병합 요청을 승인한 리뷰어 목록에 있는 사용자들은 이름 옆에 녹색 확인 표시 ()가 표시됩니다.

병합 요청이 구성한 승인 수와 유형을 받은 후에는, 병합 요청이 다른 이유로 막힐 때까지 병합될 수 있습니다. 병합 요청은 다른 문제들(병합 충돌, 미해결된 쓰레드, CI/CD 파이프라인 실패 등)로 인해 차단될 수 있습니다.

병합 요청 작성자가 자신의 병합 요청을 승인하는 것을 방지하려면, 프로젝트 설정에서 변경 작성자의 승인 방지를 활성화하세요.

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

선택 사항 승인

GitLab은 모든 Developer 이상의 사용자가 병합 요청을 승인할 수 있습니다. GitLab Free의 승인은 선택 사항이며, 승인 없이도 병합 요청이 병합될 수 있습니다.

필수 승인

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
  • GitLab Premium로 이전되었습니다. 13.9.

필수 승인은 지정한 사용자의 수와 유형에 따라 코드 리뷰를 강제합니다. 승인 없이는 작업이 병합될 수 없습니다. 필수 승인을 통해 여러 사용 사례를 적용할 수 있습니다:

유효하지 않은 규칙

플래그: 자체 관리형 GitLab에서는 이 기능이 기본적으로 사용 가능합니다. 이 기능을 숨기려면, 관리자는 invalid_scan_result_policy_prevents_merge라는 이름의 기능 플래그를 비활성화할 수 있습니다.

규칙이 만족되지 못할 때 항상 승인된 상태로 표시됩니다. 다음 조건이 해당됩니다:

  • 유일한 승인자가 병합 요청의 작성자인 경우.
  • 승인 규칙에 대해 할당된 유일한 승인자(그룹 또는 사용자)가 없는 경우.
  • 필요한 승인 수가 할당된 승인자 수보다 많은 경우.

이러한 규칙은 해당 병합 요청을 블로킹 해제하기 위해 자동으로 승인됩니다. 단, 이러한 규칙이 병합 요청 승인 정책을 통해 생성된 경우에 한합니다. 병합 요청 승인 정책을 통해 생성된 유효하지 않은 승인 규칙은 조치 필요로 표시되며 자동으로 승인되지 않아 해당 병합 요청을 블로킹합니다.

관련 주제