- 병합 요청 승인 설정 편집
- 작성자에 의한 승인 방지
- 커밋을 추가한 사용자의 승인을 방지
- 병합 요청에서 승인 규칙 편집 방지
- 승인을 위해 사용자 재인증 요구
- 소스 브랜치에 커밋이 추가될 때 모든 승인 제거
- 변경된 파일이 있는 경우 코드 소유자의 승인 제거
- 관련 주제
병합 요청 승인 설정
병합 요청 승인에 대한 설정을 구성하여 merge request approvals가 사용 사례에 맞는 승인 규칙이 되도록 할 수 있습니다. 승인해야 할 사용자 수와 유형을 정의하는 승인 규칙을 구성할 수도 있습니다. 병합 요청 승인 설정은 병합 요청이 완료로 향할 때 이러한 규칙을 적용하는 방법을 정의합니다.
다음 설정 조합을 사용하여 병합 요청에 대한 승인 제한을 구성할 수 있습니다:
-
작성자에 의한 승인 방지:
병합 요청의 작성자가 그것을 승인하는 것을 방지합니다. -
커밋을 추가한 사용자에 의한 승인 방지:
병합 요청에 커밋을 추가한 사용자가 그것을 승인하는 것을 방지합니다. -
병합 요청에서 승인 규칙 편집 방지:
사용자가 병합 요청에서 프로젝트 수준의 승인 규칙을 무시하는 것을 방지합니다. -
승인을 위해 사용자 재인증 요구 (비밀번호 또는 SAML):
잠재적인 승인자가 비밀번호 또는 SAML로 먼저 인증하도록 강제합니다. -
코드 소유자 승인 제거:
커밋이 병합 요청에 추가될 때 기존 승인에 대해 발생하는 일을 정의합니다.-
승인 유지:
모든 승인을 제거하지 않습니다. -
모든 승인 제거:
모든 기존 승인을 제거합니다. -
파일이 변경된 경우 코드 소유자에 의한 승인 제거:
코드 소유자가 병합 요청을 승인하고, 이후 커밋이 그들이 코드 소유자인 파일을 변경하면, 그들의 승인이 제거됩니다.
-
승인 유지:
병합 요청 승인 설정 편집
단일 프로젝트의 병합 요청 승인 설정을 보거나 편집하려면:
-
왼쪽 사이드바에서 검색하거나 이동을 선택하고 프로젝트를 찾습니다.
-
설정 > 병합 요청을 선택합니다.
-
승인을 확장합니다.
인스턴스 또는 최상위 그룹에서 설정 계승
승인 규칙 설정 관리의 단순화를 위해 가능한 가장 넓은 수준에서 승인 규칙을 구성합니다. 생성된 규칙은:
그룹이나 프로젝트가 설정을 상속받는 경우, 상속 그룹이나 프로젝트에서 이를 변경할 수 없습니다. 설정이 시작된 곳인 최상위 그룹이나 인스턴스에서 변경해야 합니다.
작성자에 의한 승인 방지
기본적으로 병합 요청의 작성자가 그것을 승인할 수 없습니다. 이 설정을 변경하려면:
-
왼쪽 사이드바에서 검색하거나 이동을 선택하고 프로젝트를 찾습니다.
-
설정 > 병합 요청을 선택합니다.
-
병합 요청 승인 섹션에서 승인 설정으로 스크롤하여 작성자에 의한 승인 방지 체크박스를 지웁니다.
-
변경 사항 저장을 선택합니다.
작성자는 개별 병합 요청에서 승인 규칙을 편집하고 이 설정을 무시할 수 있습니다. 단, 아래 옵션 중 하나를 구성하지 않는 경우에 해당합니다:
-
기본 승인 무시 방지
프로젝트 수준에서. -
(자체 관리 인스턴스만 해당) 기본 승인 무시 방지
인스턴스 수준에서. 인스턴스 수준에서 구성된 경우, 프로젝트 또는 개별 병합 요청 수준에서 이 설정을 편집할 수 없습니다.
커밋을 추가한 사용자의 승인을 방지
- GitLab 16.3에서 추가된 기능 플래그
keep_merge_commits_for_approvals
는 이 체크에 병합 커밋도 포함합니다.- GitLab 16.5에서 제거된 기능 플래그
keep_merge_commits_for_approvals
. 이제 이 체크에는 병합 커밋도 포함됩니다.
기본적으로, 병합 요청에 커밋한 사용자는 여전히 이를 승인할 수 있습니다. 프로젝트 수준 또는 인스턴스 수준에서, 커밋한 사용자가 자신의 일부인 병합 요청을 승인하지 못하도록 할 수 있습니다. 이를 위해 다음을 수행합니다:
- 왼쪽 사이드바에서 검색하거나 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 요청 승인 섹션에서 승인을 위해 커밋을 추가한 사용자를 방지를 선택합니다. 이 체크박스가 선택 해제된 경우, 관리자가 인스턴스 수준에서 이를 비활성화한 것이며, 프로젝트 수준에서 변경할 수 없습니다.
- 변경 사항 저장을 선택합니다.
병합 요청에 커밋한 코드 소유자는 승인할 수 없으며,
만약 해당 병합 요청이 그들이 소유한 파일에 영향을 미친다면.
자세한 내용은 공식 Git 문서를 참조하세요.
병합 요청에서 승인 규칙 편집 방지
기본적으로 사용자는 프로젝트에 대해 생성한 승인 규칙을 병합 요청별로 재정의할 수 있습니다. 사용자가 병합 요청의 승인 규칙을 변경하지 못하도록 하려면 이 설정을 비활성화할 수 있습니다:
- 왼쪽 사이드바에서 검색하거나 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 요청 승인 섹션에서 병합 요청에서 승인 규칙 편집 방지를 선택합니다.
- 변경 사항 저장을 선택합니다.
이 변경 사항은 모든 열린 병합 요청에 영향을 미칩니다.
이 필드를 변경하면 설정에 따라 모든 열린 병합 요청에 영향을 미칠 수 있습니다:
- 사용자가 이전에 승인 규칙을 편집할 수 있었고, 이 동작을 비활성화하면, GitLab은 모든 열린 병합 요청을 업데이트하여 승인 규칙을 강제 적용합니다.
- 사용자가 이전에 승인 규칙을 편집할 수 없었고, 승인 규칙 편집을 활성화하면, 열린 병합 요청은 변경되지 않습니다. 이는 해당 병합 요청에서 이미 변경된 승인의 규칙을 보존합니다.
승인을 위해 사용자 재인증 요구
- GitLab.com 그룹을 위한 SAML 인증을 사용하여 재인증 요구 도입됨 GitLab 16.6에서 플래그
ff_require_saml_auth_to_approve
와 함께. 기본적으로 비활성화됨.- 자체 관리 인스턴스에 대한 SAML 인증을 사용하여 재인증 요구 도입됨 GitLab 16.7에서 플래그
ff_require_saml_auth_to_approve
와 함께. 기본적으로 비활성화됨.- GitLab.com 및 자체 관리 인스턴스에 대해 기본적으로 활성화된
ff_require_saml_auth_to_approve
GitLab 16.8.
자체 관리 GitLab에서는 기본적으로 SAML 인증을 사용하여 재인증 요구가 가능합니다. 기능을 숨기려면 관리자가 기능 플래그
ff_require_saml_auth_to_approve
를 비활성화할 수 있습니다. GitLab.com 및 GitLab 전용에서 이 기능을 사용할 수 있습니다.잠재적인 승인자에게 먼저 SAML 또는 비밀번호로 인증하도록 강제할 수 있습니다.
이 권한은 연방 규정 코드(CFR) 파트 11에서 정의된 승인에 대한 전자 서명을 활성화합니다.
사전 요구 사항:
- 이 설정은 최상위 그룹에서만 사용할 수 있습니다.
- 왼쪽 사이드바에서 검색하거나 이동을 선택하고 프로젝트를 찾습니다.
- 비밀번호 인증 및 SAML 인증을 활성화합니다. 다음에 대한 자세한 내용은:
- 비밀번호 인증, 로그인 제한 문서를 참조하세요.
- GitLab.com 그룹에 대한 SAML 인증, GitLab.com 그룹의 SAML SSO 문서를 참조하세요.
- 자체 관리 인스턴스에 대한 SAML 인증, 자체 관리 GitLab 인스턴스의 SAML SSO 를 참조하세요.
- 왼쪽 사이드바에서 설정 > 병합 요청을 선택합니다.
- 병합 요청 승인 섹션에서 승인을 위해 사용자 재인증(비밀번호 또는 SAML) 요구를 선택합니다.
- 변경 사항 저장을 선택합니다.
소스 브랜치에 커밋이 추가될 때 모든 승인 제거
기본적으로, 병합 요청에 대한 승인은 승인 이후에 더 많은 변경 사항을 추가하면 제거됩니다. GitLab Premium 및 Ultimate 계층에서는 병합 요청에 더 많은 변경 사항이 추가된 후 기존 승인을 유지하려면:
- 왼쪽 사이드바에서 검색 또는 이동를 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 요청 승인 섹션에서 승인 설정까지 스크롤하여 모든 승인 제거 확인란을 선택 해제합니다.
- 변경 사항 저장을 선택합니다.
GitLab은 git patch-id
를 사용하여 병합 요청에서의 차이를 식별합니다. 이 값은 합리적으로 안정적이고 고유한 식별자이며, 병합 요청 내에서 승인을 재설정하는 스마트한 결정을 가능하게 합니다. 새로운 변경 사항을 병합 요청에 푸시할 때, patch-id
는 이전 patch-id
와 비교되어 승인을 재설정해야 하는지 여부를 결정합니다. 이는 git rebase
또는 git merge <target>
과 같은 명령어를 기능 브랜치에서 실행할 때 GitLab이 더 나은 재설정 결정을 내릴 수 있도록 합니다.
변경된 파일이 있는 경우 코드 소유자의 승인 제거
새 커밋에서 변경된 파일이 있는 코드 소유자의 승인만 제거하려면:
전제 조건:
- 프로젝트에 대해 최소한 유지 관리자인 역할이 필요합니다.
이를 수행하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 요청 승인 섹션에서 변경된 파일이 있는 코드 소유자의 승인 제거를 선택합니다.
- 변경 사항 저장을 선택합니다.