병합 요청 승인 설정

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

병합 요청 승인 설정을 구성하여 승인 규칙이 사용 사례에 맞는지 확인할 수 있습니다. 또한 작업이 병합되기 전에 승인해야 하는 사용자의 수와 유형을 정의하는 승인 규칙을 구성할 수도 있습니다. 병합 요청 승인 설정은 이러한 규칙이 병합 요청이 완료되는 방식을 정의합니다.

병합 요청 승인 설정 편집

병합 요청 승인 설정을 보거나 편집하려면 다음 단계를 따르세요:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 병합 요청을 선택합니다.
  3. 승인을 확장합니다.

승인 설정

이러한 설정은 병합 요청을 승인할 수 있는 사용자를 제한합니다:

작성자에 의한 승인 방지

기본적으로 병합 요청의 작성자는 승인할 수 없습니다. 이 설정을 변경하려면 다음을 수행하세요:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 병합 요청을 선택합니다.
  3. 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 작성자에 의한 승인 방지 확인란을 지웁니다.
  4. 변경 사항 저장을 선택합니다.

작성자는 이 설정을 재정의하고 개별 병합 요청에서 승인 규칙을 편집할 수 있으나, 다음 중 하나를 구성하지 않는 한:

  • 프로젝트 수준에서 기본 승인 재설정 방지.
  • (Self-Managed 인스턴스 전용) 프로젝트나 개별 병합 요청에서 이 설정을 편집할 수 없으며, 인스턴스 수준에서 기본 승인 재설정 방지가 구성됩니다.

커밋을 추가하는 사용자에 의한 승인 방지

기본적으로 커밋을 추가하는 사용자는 병합 요청을 승인할 수 있습니다. 프로젝트 수준이나 인스턴스 수준에서, 커밋을 추가한 사용자가 병합 요청을 부분적으로 승인하는 것을 막을 수 있습니다. 다음을 수행하세요:

  1. 왼쪽 사이드바에서 설정 > 병합 요청을 선택합니다.
  2. 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 커밋을 추가하는 사용자에 의한 승인 방지를 선택합니다. 이 확인란을 지운 경우, 관리자가 인스턴스 수준에서 이를 비활성화한 경우이며 프로젝트 수준에서 변경할 수 없습니다.
  3. 변경 사항 저장을 선택합니다.

GitLab 16.3에 추가된 특성 플래그 keep_merge_commits_for_approvals는 기본적으로 커밋을 추가하는 사용자도 승인할 수 있습니다. 최신 버전의 GitLab에서는 코드 소유자가 파일에 영향을 주는 경우에도 병합 요청에 커밋을 추가하는 사용자가 승인할 수 없게 할 수 있습니다.

더 많은 정보는 공식 Git 문서를 참조하세요.

병합 요청에서 승인 규칙 편집 방지

기본적으로 사용자는 프로젝트별로 생성한 승인 규칙을 병합 요청별로 재정의할 수 있습니다. 사용자가 병합 요청에서 승인 규칙을 변경하지 않도록 하려면 다음 설정을 해제할 수 있습니다:

  1. 왼쪽 사이드바에서 설정 > 병합 요청을 선택합니다.
  2. 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 병합 요청에서 승인 규칙 편집 방지를 선택합니다.
  3. 변경 사항 저장을 선택합니다.

이 변경은 모든 열린 병합 요청에 영향을 미칩니다.

이 필드가 변경되면 설정에 따라 모든 열린 병합 요청에 영향을 줄 수 있습니다:

  • 사용자가 이전에 승인 규칙을 편집할 수 있었고 이 동작을 비활성화하는 경우 모든 열린 병합 요청이 승인 규칙을 강제로 적용하도록 업데이트됩니다.
  • 사용자가 이전에 승인 규칙을 편집할 수 없었고 승인 규칙 편집을 활성화하는 경우 열린 병합 요청은 변경되지 않습니다. 이는 이미 해당 병합 요청에서 수행된 승인 규칙의 변경을 보존합니다.

사용자 재인증 필요 승인 요청

  • GitLab 16.6에서 도입된 GitLab.com 그룹을 위한 SAML 인증을 사용하여 재인증을 요구합니다. 기본값은 비활성화됩니다.
  • GitLab 16.7에서 도입된 self-managed 인스턴스를 위한 SAML 인증을 사용하여 재인증을 요구합니다. 기본값은 비활성화됩니다.
  • GitLab.com 및 self-managed 인스턴스에서 기본적으로 ff_require_saml_auth_to_approve를 활성화합니다.

플래그: self-managed GitLab에서 기본적으로 SAML 인증을 사용하여 재인증을 요구하는 설정이 가능합니다. 사용자 피처를 숨기려면 관리자는 ff_require_saml_auth_to_approve라는 피처 플래그를 비활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서 이 기능을 사용할 수 있습니다.

잠재적인 승인자가 다음 중 하나로 먼저 인증하도록 할 수 있습니다:

  • 비밀번호.
  • SAML.

이 권한은 Code of Federal Regulations (CFR) Part 11에서 정의한 전자 서명을 승인하는 것입니다. 이 설정은 최상위 그룹에서만 사용할 수 있습니다. 자세한 정보는 설정 캐스케이딩을 참조하세요.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 비밀번호 인증 및 SAML 인증을 가능하게 합니다. 자세한 내용은:
  3. 왼쪽 사이드바에서 설정 > 병합 요청을 선택합니다.
  4. 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 사용자 재인증(비밀번호 또는 SAML)이 필요합니다를 선택합니다.
  5. 변경 사항 저장을 선택합니다.

소스 브랜치에 커밋이 추가될 때 모든 승인 제거

세부 정보: Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

기본적으로 병합 요청에 대한 승인은 승인 후 변경 사항이 추가되면 제거됩니다. GitLab Premium 및 Ultimate 티어에서는 변경 사항이 병합 요청에 추가된 후에도 기존의 승인을 유지하려면 다음을 수행합니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 병합 요청을 선택합니다.
  3. 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 모든 승인 제거 확인란을 선택 해제합니다.
  4. 변경 사항 저장을 선택합니다.

병합 요청이 UI에서 리베이스된 경우 승인은 제거되지 않습니다. 그러나 대상 브랜치가 변경되면 승인이 재설정됩니다.

코드 소유자의 파일이 변경될 때 모든 승인 제거

커밋이 추가될 때 파일이 변경된 코드 소유자의 승인만 제거하려면 다음을 수행하세요:

사전 요구 사항:

  • 프로젝트에 대해 적어도 Maintainer 역할이 있어야 합니다.

수행 방법:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 병합 요청을 선택합니다.
  3. 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 파일이 변경된 경우 코드 소유자의 승인 제거를 선택합니다.
  4. 변경 사항 저장을 선택합니다.

설정 계층화

또한 병합 요청 승인 설정을 강제로 적용할 수 있습니다:

  • 인스턴스 수준에서, 해당 인스턴스의 모든 그룹 및 따라서 모든 프로젝트에 적용됩니다.
  • 최상위 그룹에서, 해당 최상위 그룹의 모든 하위 그룹과 프로젝트에 적용됩니다.

설정이 그룹이나 프로젝트에 의해 상속되면, 상속 받은 설정은 해당 그룹이나 프로젝트에서 변경할 수 없습니다.

관련 주제