커스텀 그룹-레벨 프로젝트 템플릿

Tier: Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

프로젝트를 생성할 때 템플릿 디렉터리에서 선택할 수 있습니다. GitLab Pages나 Ruby와 같은 항목에 대한 이러한 템플릿은 템플릿에 포함된 파일의 사본으로 새 프로젝트를 생성합니다. 이 정보는 GitLab 프로젝트 가져오기/내보내기에서 사용되는 정보와 동일하며, 새 프로젝트를 더 빨리 시작할 수 있도록 돕습니다.

사용 가능한 템플릿 디렉터리을 사용자 정의하여 그룹 내 모든 프로젝트가 동일한 디렉터리을 갖도록 할 수 있습니다. 이를 위해 하위 그룹에 템플릿으로 사용할 프로젝트를 추가합니다.

또한 인스턴스용 사용자 정의 템플릿을 구성할 수도 있습니다.

그룹-레벨 프로젝트 템플릿 설정

사전 요구 사항:

  • 그룹의 소유자 역할이 있어야 합니다.

그룹 내에서 사용자 정의 프로젝트 템플릿을 설정하려면 프로젝트 템플릿을 포함하는 하위 그룹을 그룹 설정에 추가합니다:

  1. 그룹 내에 하위 그룹을 만듭니다.
  2. 새 하위 그룹에 프로젝트를 추가하여 템플릿으로 사용합니다.
  3. 그룹의 왼쪽 메뉴에서 설정 > 일반을 선택합니다.
  4. 사용자 정의 프로젝트 템플릿을 확장하고 하위 그룹을 선택합니다.

다음으로 그룹 멤버가 프로젝트를 생성할 때 하위 그룹 내의 프로젝트 중 하나를 선택할 수 있습니다.

중첩된 하위 그룹에 있는 프로젝트는 템플릿 디렉터리에 포함되지 않습니다.

사용 가능한 템플릿 프로젝트

  • 공개 및 내부 프로젝트는 GitLab Pages보안 및 규정 준수를 제외한 모든 프로젝트 기능모든 접근 가능한 사용자로 설정된 경우에 새 프로젝트의 템플릿으로 인증된 사용자에 의해 선택될 수 있습니다.
  • 비공개 프로젝트는 해당 프로젝트의 구성원인 사용자만 선택할 수 있습니다.

예시 구조

다음은 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 관리자가 아닌 경우, 프로젝트 배포 키 및 프로젝트 웹훅은 민감한 데이터를 포함하고 있기 때문에 새 프로젝트로 복사되지 않습니다.

더 많은 정보를 알아보려면 내보내지는 항목을 참조하세요.

템플릿에서의 사용자 할당

다른 사용자가 생성한 템플릿을 사용할 때, 템플릿에서 사용자에게 할당된 항목은 당신에게 재할당됩니다. 보호된 브랜치 및 태그와 같은 보안 기능을 구성하는 경우 이 재할당을 이해하는 것이 중요합니다. 예를 들어, 템플릿에 보호된 브랜치가 포함된 경우:

  • 템플릿에서는 브랜치가 _템플릿 소유자_가 기본 브랜치로 Merge할 수 있도록 허용됩니다.
  • 템플릿에서 생성된 프로젝트에서는 브랜치가 _당신_이 기본 브랜치로 Merge할 수 있도록 허용됩니다.

문제 해결

관리자가 프로젝트를 생성할 때 커스텀 그룹-레벨 프로젝트 템플릿이 표시되지 않음

커스텀 그룹-레벨 프로젝트 템플릿은 그룹 멤버에게만 표시됩니다. 사용 중인 관리자 계정이 그룹 멤버가 아닌 경우 템플릿에 액세스할 수 없습니다.