인스턴스 템플릿 리포지터리

Tier: Premium, Ultimate Offering: Self-managed

호스팅된 시스템에서 기업은 종종 각 팀간에 자체 템플릿을 공유해야 하는 필요가 있습니다. 이 기능을 사용하면 관리자가 프로젝트를 선택하여 파일 템플릿의 인스턴스 전체 모음으로 지정할 수 있습니다. 이러한 템플릿은 프로젝트의 보안을 유지한 채 모든 사용자가 웹 에디터를 통해 액세스할 수 있습니다.

구성

사용자 정의 템플릿 리포지터리로 사용할 프로젝트를 선택하려면:

  1. 왼쪽 사이드바에서 맨 아래 관리 영역(Admin Area)을 선택합니다.
  2. 설정(Settings) > 템플릿(Templates)을 선택합니다.
  3. 템플릿(Templates)을 확장합니다.
  4. 드롭다운 디렉터리에서 템플릿 리포지터리로 사용할 프로젝트를 선택합니다.
  5. 변경 사항 저장을 선택합니다.
  6. 선택한 리포지터리에 사용자 정의 템플릿을 추가합니다.

템플릿을 추가한 후에는 전체 인스턴스에서 해당 템플릿을 사용할 수 있습니다. 이는 웹 에디터API 설정을 통해 사용할 수 있습니다.

이러한 템플릿은 .gitlab-ci.yml 파일의 include:template 키의 값으로 사용할 수 없습니다.

지원되는 파일 유형 및 위치

템플릿은 리포지터리의 특정 하위 디렉터리에 추가되어야 하며, 템플릿의 종류에 해당하는 디렉터리여야 합니다. 다음 유형의 사용자 정의 템플릿이 지원됩니다:

유형 디렉터리 확장자
Dockerfile Dockerfile .dockerfile
.gitignore gitignore .gitignore
.gitlab-ci.yml gitlab-ci .yml
LICENSE LICENSE .txt

각 템플릿은 해당하는 하위 디렉터리에 들어가야 하며 올바른 확장자를 가져야 합니다. 또한 비어 있으면 안 됩니다. 따라서 계층 구조는 다음과 같아야 합니다:

|-- README.md
|-- Dockerfile
    |-- custom_dockerfile.dockerfile
    |-- another_dockerfile.dockerfile
|-- gitignore
    |-- custom_gitignore.gitignore
    |-- another_gitignore.gitignore
|-- gitlab-ci
    |-- custom_gitlab-ci.yml
    |-- another_gitlab-ci.yml
|-- LICENSE
    |-- custom_license.txt
    |-- another_license.txt

사용자 정의 템플릿은 GitLab UI를 통해 새 파일이 추가될 때 드롭다운 디렉터리에 표시됩니다:

사용자 정의 템플릿 드롭다운 디렉터리

이 기능이 비활성화되거나 템플릿이 없는 경우 드롭다운 디렉터리에 사용자 정의 섹션이 표시되지 않습니다.