사용자 정의 그룹 수준 프로젝트 템플릿

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/
    # 하위 그룹
    내부
    도구
    # 프로젝트 템플릿을 처리하기 위한 하위 그룹
    웹사이트
        템플릿
            # 프로젝트 템플릿
            client-site-django
            client-site-gatsby
            client-site-html
        
        # 다른 프로젝트
        client-site-a
        client-site-b
        client-site-c
        ...

템플릿에서 복사되는 내용

템플릿이 포함된 사용자 정의 인스턴스 수준 프로젝트 템플릿 리포지터리 전체가 복사됩니다. 이에는 다음이 포함됩니다:

  • 브랜치
  • 커밋
  • 태그

사용자가:

  • 사용자 정의 인스턴스 수준 프로젝트 템플릿 프로젝트에 소유자 역할이거나 GitLab 관리자인 경우 모든 프로젝트 설정(프로젝트 멤버 포함)이 새 프로젝트로 복사됩니다.
  • 소유자 역할이 아니거나 GitLab 관리자가 아닌 경우 프로젝트 전개 키와 프로젝트 웹훅은 민감한 데이터가 포함되어 있기 때문에 복사되지 않습니다.

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

템플릿에서의 사용자 할당

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

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

문제 해결

관리자가 프로젝트를 생성할 때 사용자 정의 그룹 수준 프로젝트 템플릿을 볼 수 없음

사용자 정의 그룹 수준 프로젝트 템플릿은 그룹 멤버에게만 사용할 수 있습니다. 사용 중인 관리자 계정이 그룹 멤버가 아니라면 템플릿에 액세스할 수 없습니다.