그룹 수준의 사용자 정의 프로젝트 템플릿
프로젝트를 생성할 때 템플릿 목록에서 선택할 수 있습니다. 이러한 템플릿은 GitLab 페이지나 루비와 같은 것들을 위한 것으로, 새 프로젝트에 템플릿에 포함된 파일의 사본을 채웁니다. 이 정보는 GitLab 프로젝트 가져오기/내보내기에서 사용되는 정보와 동일하며 새 프로젝트를 보다 빨리 시작하는 데 도움이 될 수 있습니다.
사용 가능한 템플릿 목록을 사용자 지정하여 그룹의 모든 프로젝트에 동일한 목록이 있는지 확인할 수 있습니다. 이를 위해 템플릿으로 사용할 프로젝트를 하위 그룹에 넣어야 합니다.
또한 인스턴스용 사용자 정의 템플릿을 구성할 수도 있습니다.
그룹 수준의 프로젝트 템플릿 설정
필수 조건:
- 그룹의 소유자 역할이어야 합니다.
그룹에서 사용자 정의 프로젝트 템플릿을 설정하려면 프로젝트 템플릿을 포함하는 하위 그룹을 그룹 설정에 추가하세요.
- 그룹에서 하위 그룹을 생성합니다.
- 새 하위 그룹에 프로젝트를 추가하여 템플릿으로 사용합니다.
- 그룹의 왼쪽 메뉴에서 설정 > 일반을 선택합니다.
- 사용자 정의 프로젝트 템플릿을 확장하고 하위 그룹을 선택합니다.
그룹 멤버가 다음 번에 프로젝트를 생성하면 하위 그룹의 프로젝트 중 하나를 선택할 수 있습니다.
중첩된 하위 그룹의 프로젝트는 템플릿 목록에 포함되지 않습니다.
어떤 프로젝트를 템플릿으로 사용할 수 있나요?
- 공개 및 내부 프로젝트는 프로젝트 기능을 제외한 GitLab 페이지 및 보안 및 규정 준수를 제외한 모든 것이 모든 권한 보유자로 설정된 경우에 새 프로젝트의 템플릿으로 선택될 수 있습니다.
- 비공개 프로젝트는 해당 프로젝트 멤버인 사용자만 선택할 수 있습니다.
알려진 문제가 있습니다: 상속된 멤버는 project_templates_without_min_access
기능 플래그가 활성화되지 않는 한 프로젝트 템플릿을 선택할 수 없습니다.
이 기능 플래그는 GitLab.com에서 비활성화되어 있어 사용자가 템플릿 프로젝트에 직접 멤버십을 부여해야 합니다.
예시 구조
이 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 관리자가 아닌 경우 프로젝트 배포 키 및 프로젝트 웹훅은 민감한 데이터를 포함하고 있기 때문에 복사되지 않습니다.
더 많은 내용을 알아보려면 내보내는 항목을 참조하세요.
템플릿에서의 사용자 할당
다른 사용자가 생성한 템플릿을 사용하는 경우 템플릿에서 특정 사용자에게 할당된 항목은 여러분에게 재할당됩니다. 보호된 브랜치 및 태그와 같은 보안 기능을 구성할 때 이 재할당을 이해하는 것이 중요합니다. 예를 들어, 템플릿에 보호된 브랜치가 있다면:
- 템플릿에서는 템플릿 소유자가 기본 브랜치로 병합할 수 있습니다.
- 템플릿에서 생성된 프로젝트에서는 여러분이 기본 브랜치로 병합할 수 있습니다.
문제 해결
관리자가 프로젝트를 생성할 때 사용자 정의 그룹 수준 프로젝트 템플릿이 표시되지 않음
사용자 정의 그룹 수준 프로젝트 템플릿은 그룹 멤버에게만 표시됩니다. 사용 중인 관리자 계정이 그룹의 멤버가 아니면 템플릿에 액세스할 수 없습니다.