2015-01-16 2 views
3

많은 프로젝트 (저장소가 많음)가 있으며 코드 검토에 gerrit를 사용하고 있습니다. 모든 개발자가 모든 프로젝트에 액세스 할 수있는 것은 아니며 다른 프로젝트 (개발자, 승인자 등)마다 다른 역할을 할 수도 있습니다. 현재 모든 프로젝트에는 그룹 및 다른 모든 프로젝트와 구조적으로 동일한 자체 액세스 정책이 있으며 관리가 어려워집니다.gerrit에서 액세스 권한 상속을 설정하는 방법

예 :

프로젝트 : Project_A, Project_B

그룹 : 나는 Project_A_Developer 밀어 수있는 설정 Project_A_Developer, Project_A_Approver, Project_B_Developer, Project_B_Approver

Project_A의 액세스 페이지에서에/심판 /에/refs/* 그리고 Project_A_Approver는 코드 리뷰를 할 수 있습니다.

Project_B의 액세스 페이지에서 Project_B_Developer가/refs/for/refs/*를 푸시 할 수 있도록 Project_B_Approver가 코드 검토를 할 수 있도록 설정했습니다.

이제 프로세스를 조정할 때마다 모든 프로젝트의 액세스 페이지를 거쳐야하며 지루하고 오류가 발생하기 쉬운 동일한 변경 작업을 수행해야합니다.

모든 프로젝트에서 All-project로부터 액세스 권한을 상속받을 수는 있지만, 개발자 그룹의 구성원이되어야하고, 우리가 원하지 않는 모든 프로젝트의 개발자가 될 수 있습니다.

나는 또한 서로를 포함하여 그룹을 가지고 노는 것을 시도했지만 원하는 결과를 얻을 수 없었다.

질문 : : 일반적인 액세스 정책이 단일 프로젝트에서 상속되도록 프로젝트 및 그룹을 설정하는 방법은 무엇입니까? 그렇지만 다른 프로젝트에서 다른 사람이 액세스 권한을 가질 수 있습니까?

+0

1 년이 지났습니다. 문제를 해결할 수 있습니까? – sebkraemer

+0

나는 그것을 풀지 않았다. – kresho

+0

나의 최근의 접근 상속 경험에 근거하여'All-Projects'에서 _BLOCK_ 접근 정의를 확인해야합니다. 한 프로젝트의 블록을 상속 된 프로젝트에서 실행 취소하거나 차단 해제 할 수 없다는 것을 알지 못했습니다. – sebkraemer

답변

1

프로젝트 계층 구조를 생성하십시오.

All-Projects 
    All-Group-1-Projects 
     Project-A 
    All-Group-2-Projects 
     Project-B 
     Project-C 

이제 모든 그룹 2 프로젝트의 권한을 변경하면 프로젝트 B와 C가 변경됩니다. 올바른 부모 프로젝트로 새로운 프로젝트를 만드는 것만으로도 충분합니다. 그런 다음 상위 프로젝트에서 모든 권한 변경을 수행해야하며 기본적으로 프로젝트 자체에는 변경 사항이 없어야합니다.