사용자 정의 그룹 수준 프로젝트 템플릿
프로젝트를 생성할 때 템플릿 디렉터리에서 선택할 수 있습니다. GitLab Pages나 Ruby와 같은 것들에 대한 이러한 템플릿은 새로운 프로젝트를 템플릿에 포함된 파일의 사본으로 채웁니다. 이 정보는 GitLab 프로젝트 가져오기/내보내기에서 사용하는 정보와 동일하며 새 프로젝트를 더 빨리 시작할 수 있도록 도와줍니다.
사용 가능한 템플릿 디렉터리을 사용자 정의할 수 있어서 그룹의 모든 프로젝트가 동일한 디렉터리을 가지도록 설정할 수 있습니다. 이를 위해 템플릿으로 사용하려는 프로젝트를 하위 그룹으로 채우면 됩니다.
또한 인스턴스용 사용자 정의 템플릿을 구성할 수도 있습니다.
그룹 수준 프로젝트 템플릿 설정
전제 조건:
- 그룹의 소유자 역할이어야 합니다.
그룹 내에서 사용자 정의 프로젝트 템플릿을 설정하려면 프로젝트 템플릿을 포함하는 하위 그룹을 그룹 설정에 추가하세요:
- 그룹 내에서 하위 그룹을 생성합니다.
- 새로운 하위 그룹에 프로젝트를 추가하여 템플릿으로 사용합니다.
- 그룹의 왼쪽 메뉴에서 설정 > 일반을 선택합니다.
- 사용자 정의 프로젝트 템플릿을 확장하고 하위 그룹을 선택합니다.
그룹 멤버가 다음에 프로젝트를 생성할 때 하위 그룹의 프로젝트 중 하나를 선택할 수 있습니다.
중첩된 하위 그룹의 프로젝트는 템플릿 디렉터리에 포함되지 않습니다.
사용 가능한 템플릿 프로젝트
- 공개 및 내부 프로젝트는 GitLab Pages 및 보안 및 규정 준수를 제외한 모든 프로젝트 기능이 모든 사용자에게 액세스 권한으로 설정되어 있다면 인증된 사용자는 새 프로젝트의 템플릿으로 선택할 수 있습니다.
- 비공개 프로젝트는 프로젝트 멤버인 사용자만 선택할 수 있습니다.
예시 구조
myorganization
의 프로젝트 템플릿을 위한 샘플 그룹 및 프로젝트 구조는 다음과 같습니다:
# GitLab 인스턴스 및 그룹
gitlab.com/myorganization/
# 하위 그룹
내부
도구
# 프로젝트 템플릿을 처리하기 위한 하위 그룹
웹사이트
템플릿
# 프로젝트 템플릿
client-site-django
client-site-gatsby
client-site-html
# 다른 프로젝트
client-site-a
client-site-b
client-site-c
...
템플릿에서 복사되는 내용
템플릿이 포함된 사용자 정의 인스턴스 수준 프로젝트 템플릿 리포지터리 전체가 복사됩니다. 이에는 다음이 포함됩니다:
- 브랜치
- 커밋
- 태그
사용자가:
- 사용자 정의 인스턴스 수준 프로젝트 템플릿 프로젝트에 소유자 역할이거나 GitLab 관리자인 경우 모든 프로젝트 설정(프로젝트 멤버 포함)이 새 프로젝트로 복사됩니다.
- 소유자 역할이 아니거나 GitLab 관리자가 아닌 경우 프로젝트 전개 키와 프로젝트 웹훅은 민감한 데이터가 포함되어 있기 때문에 복사되지 않습니다.
더 많은 내용을 알아보려면 내보내는 항목을 참조하세요.
템플릿에서의 사용자 할당
다른 사용자가 생성한 템플릿을 사용하는 경우, 템플릿에서 사용자에게 할당된 항목은 여러분에게 재할당됩니다. 보호된 브랜치 및 태그와 같은 보안 기능을 구성할 때 이 재할당을 이해하는 것이 중요합니다. 예를 들어, 템플릿에 보호된 브랜치가 있는 경우:
- 템플릿에서 브랜치는 _템플릿 소유자_가 기본 브랜치에 Merge할 수 있도록 허용됩니다.
- 템플릿에서 생성된 프로젝트에서는 _여러분_이 기본 브랜치로 Merge할 수 있도록 허용됩니다.
문제 해결
관리자가 프로젝트를 생성할 때 사용자 정의 그룹 수준 프로젝트 템플릿을 볼 수 없음
사용자 정의 그룹 수준 프로젝트 템플릿은 그룹 멤버에게만 사용할 수 있습니다. 사용 중인 관리자 계정이 그룹 멤버가 아니라면 템플릿에 액세스할 수 없습니다.