그룹 수준의 사용자 지정 프로젝트 템플릿
프로젝트를 생성할 때 템플릿 목록에서 선택할 수 있습니다.
이러한 템플릿은 GitLab Pages나 Ruby와 같은 것들로, 템플릿에 포함된 파일의 복사본으로 새 프로젝트를 채웁니다.
이 정보는 GitLab 프로젝트 가져오기/내보내기에서 사용되는 정보와 동일하며,
새 프로젝트를 더 빠르게 시작하는 데 도움이 될 수 있습니다.
사용 가능한 템플릿의 목록을 사용자 지정할 수 있습니다,
그래서 그룹 내 모든 프로젝트가 동일한 목록을 갖습니다.
이를 위해 템플릿으로 사용할 프로젝트로 하위 그룹을 채웁니다.
또한 인스턴스에 대한 사용자 지정 템플릿을 설정할 수 있습니다.
그룹 수준 프로젝트 템플릿 설정하기
전제 조건:
- 그룹의 소유자 역할을 가져야 합니다.
그룹에 사용자 지정 프로젝트 템플릿을 설정하려면, 프로젝트 템플릿을 포함하는 하위 그룹을 그룹 설정에 추가합니다:
- 그룹에서 하위 그룹을 만듭니다.
- 템플릿으로 사용할 프로젝트를 새 하위 그룹에 추가합니다.
- 그룹의 왼쪽 메뉴에서 Settings > General을 선택합니다.
- Custom project templates를 확장하고 하위 그룹을 선택합니다.
다음에 그룹 구성원이 프로젝트를 생성할 때, 하위 그룹의 프로젝트 중 아무 것이나 선택할 수 있습니다.
중첩된 하위 그룹의 프로젝트는 템플릿 목록에 포함되지 않습니다.
템플릿으로 사용할 수 있는 프로젝트
- 공개 및 내부 프로젝트는 모든 인증된 사용자가 새 프로젝트의 템플릿으로 선택할 수 있으며,
모든 프로젝트 기능
중 GitLab Pages 및 Security and compliance를 제외하고 Everyone With Access로 설정되어 있어야 합니다. - 개인 프로젝트는 프로젝트의 구성원인 사용자만 선택할 수 있습니다.
알려진 문제:
상속된 구성원은 프로젝트 템플릿을 선택할 수 없습니다,
project_templates_without_min_access
기능 플래그가 활성화되지 않는 한.
이 기능 플래그는 비활성화되어 있습니다
GitLab.com에서, 따라서 사용자는 템플릿 프로젝트의 직접적인 멤버십을 부여받아야 합니다.
예제 구조
다음은 myorganization
의 프로젝트 템플릿을 위한 그룹 및 프로젝트 구조의 샘플입니다:
# GitLab 인스턴스 및 그룹
gitlab.com/myorganization/
# 하위 그룹
internal
tools
# 프로젝트 템플릿 처리를 위한 하위 그룹
websites
templates
# 프로젝트 템플릿
client-site-django
client-site-gatsby
client-site-html
# 기타 프로젝트
client-site-a
client-site-b
client-site-c
...
템플릿에서 복사되는 항목
전체 사용자 지정 인스턴스 수준의 프로젝트 템플릿 리포지토리가 복사되며, 포함된 항목은 다음과 같습니다:
- 브랜치
- 커밋
- 태그
사용자가:
- 사용자 지정 인스턴스 수준의 프로젝트 템플릿 프로젝트에서 소유자 역할이 있거나 GitLab 관리자일 경우,
모든 프로젝트 설정, 포함된 프로젝트 구성원들이 새 프로젝트로 복사됩니다. - 소유자 역할이 없거나 GitLab 관리자가 아닐 경우,
프로젝트 배포 키와 프로젝트 웹후크는 민감한 정보를 포함하고 있기 때문에 복사되지 않습니다.
더 많은 정보에 대해서는
내보내는 항목을 참조하세요.
템플릿의 사용자 할당
다른 사용자가 만든 템플릿을 사용할 때, 템플릿에서 사용자에게 할당된 모든 항목은 귀하에게 재할당됩니다. 보호된 브랜치 및 태그와 같은 보안 기능을 구성할 때 이 재할당을 이해하는 것이 중요합니다. 예를 들어, 템플릿에 보호된 브랜치가 포함된 경우:
- 템플릿에서는 해당 브랜치가 _템플릿 소유자_가 기본 브랜치로 병합할 수 있도록 허용합니다.
- 템플릿에서 생성된 프로젝트에서는 해당 브랜치가 _귀하_가 기본 브랜치로 병합할 수 있도록 허용합니다.
문제 해결
프로젝트를 만들 때 관리자가 사용자 정의 그룹 수준 프로젝트 템플릿을 볼 수 없음
사용자 정의 그룹 수준 프로젝트 템플릿은 그룹 구성원에게만 제공됩니다. 사용 중인 관리자 계정이 그룹의 구성원이 아닌 경우, 템플릿에 접근할 수 없습니다.