GitLab Pages 기본 도메인 이름 및 URL

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

이 문서에서는 GitLab Pages의 프로젝트 명칭을 어떻게 지어야 하는지에 대해 알아봅니다. 이는 의도한 웹사이트의 URL에 따라 진행됩니다.

GitLab Pages 기본 도메인 이름

  • 변경되었습니다. GitLab 17.4에서 고유 도메인 URL이 짧아졌습니다.

만약 자체 GitLab 인스턴스를 사용하여 GitLab Pages로 사이트를 배포한다면, 시스템 관리자에게 Pages 와일드카드 도메인을 확인하세요. 본 안내는 GitLab 인스턴스에서 유효하며, GitLab.com의 Pages 와일드카드 도메인(*.gitlab.io)을 고유의 도메인으로 대체해야 합니다.

GitLab에서 GitLab Pages 프로젝트를 설정하면, 자동적으로 namespace.example.io의 하위 도메인으로 접근할 수 있습니다. 여기서 namespace는 당신의 GitLab.com 사용자 이름 또는 이 프로젝트를 생성한 그룹 이름에 의해 정의됩니다. GitLab Self-managed 인스턴스의 경우, example.io를 인스턴스의 Pages 도메인으로 대체하세요. GitLab.com의 경우 Pages 도메인은 *.gitlab.io입니다.

GitLab Pages 유형 GitLab에서의 프로젝트 경로 예시 웹사이트 URL
사용자 페이지 username/username.example.io http(s)://username.example.io
그룹 페이지 acmecorp/acmecorp.example.io http(s)://acmecorp.example.io
사용자가 소유한 프로젝트 페이지 username/my-website http(s)://username.example.io/my-website
그룹이 소유한 프로젝트 페이지 acmecorp/webshop http(s)://acmecorp.example.io/webshop
서브그룹이 소유한 프로젝트 페이지 acmecorp/documentation/product-manual http(s)://acmecorp.example.io/documentation/product-manual

고유 도메인 사용 설정이 활성화된 경우, Pages는 평탄화된 프로젝트 이름과 6자리 고유 ID에서 고유 도메인 이름을 생성합니다. 사용자는 브라우저를 이러한 고유 도메인 URL로 리디렉션하는 308 Permanent Redirect 상태를 받습니다. 브라우저는 이 리디렉션을 캐시할 수도 있습니다:

GitLab Pages 유형 GitLab에서의 프로젝트 경로 예시 웹사이트 URL
사용자 페이지 username/username.example.io http(s)://username-example-io-123456.example.io
그룹 페이지 acmecorp/acmecorp.example.io http(s)://acmecorp-example-io-123456.example.io
사용자가 소유한 프로젝트 페이지 username/my-website https://my-website-123456.gitlab.io/
그룹이 소유한 프로젝트 페이지 acmecorp/webshop http(s)://webshop-123456.example.io/
서브그룹이 소유한 프로젝트 페이지 acmecorp/documentation/product-manual http(s)://product-manual-123456.example.io/

예시 URL의 123456은 6자리 고유 ID를 나타냅니다. 예를 들어, 만약 고유 ID가 f85695라면, 마지막 예시는 http(s)://product-manual-f85695.example.io/입니다.

경고: 일반 도메인 이름과 HTTPS에서 제공되는 네임스페이스에 관한 알려진 제한 사항이 있습니다. 해당 섹션을 반드시 읽으세요.

Pages 도메인을 명확히 이해하기 위해 아래 예시를 참조하세요.

참고: 아래 예시는 고유 도메인 사용 설정이 비활성화된 것으로 가정합니다. 활성화되지 않은 경우, example.iogitlab.io로 바꿔 이전 표를 참고하세요.

프로젝트 웹사이트 예시

  • john 사용자 아래 blog라는 프로젝트를 생성했다고 가정합니다. 따라서 프로젝트 URL은 https://gitlab.com/john/blog/입니다. 이 프로젝트에 GitLab Pages를 활성화하고 사이트를 빌드한 후, https://john.gitlab.io/blog/에서 이용할 수 있습니다.
  • 모든 웹사이트를 위해 websites라는 그룹을 만들고, 이 그룹 내에 있는 프로젝트의 이름이 blog입니다. 프로젝트 URL은 https://gitlab.com/websites/blog/입니다. 이 프로젝트에 GitLab Pages를 활성화하면, 사이트는 https://websites.gitlab.io/blog/에서 이용할 수 있습니다.
  • 엔지니어링 부서를 위한 engineering 그룹을 만들었고, 이 그룹 내에 docs라는 모든 문서 웹사이트를 위한 하위 그룹을 만들었으며, 해당 하위 그룹 내에 있는 프로젝트의 이름이 workflows라고 가정합니다. 프로젝트 URL은 https://gitlab.com/engineering/docs/workflows/입니다. GitLab Pages를 이 프로젝트에 활성화하면, 사이트는 https://engineering.gitlab.io/docs/workflows/에서 이용할 수 있습니다.

사용자 및 그룹 웹사이트 예시

  • 사용자 이름이 john인 사용자 아래 john.gitlab.io라는 프로젝트를 만들었습니다. 프로젝트 URL은 https://gitlab.com/john/john.gitlab.io입니다. 이 프로젝트에 GitLab Pages를 활성화하면, 웹사이트는 https://john.gitlab.io에 공개됩니다.
  • websites라는 그룹을 만들었고, 이 그룹 아래 websites.gitlab.io라는 프로젝트를 만들었습니다. 프로젝트 URL은 https://gitlab.com/websites/websites.gitlab.io입니다. 이 프로젝트에 GitLab Pages를 활성화하면, 웹사이트는 https://websites.gitlab.io에 공개됩니다.

일반적인 예시:

  • GitLab.com에서 프로젝트 사이트는 항상 https://namespace.gitlab.io/project-slug에서 이용할 수 있습니다.
  • GitLab.com에서 사용자 또는 그룹 웹사이트는 https://namespace.gitlab.io/에서 이용할 수 있습니다.
  • 자체 GitLab 인스턴스의 경우, 상기 gitlab.io를 당신의 Pages 서버 도메인으로 대체하세요. 해당 정보는 시스템 관리자에게 문의하세요.

URL 및 기본 URL

참고: baseurl 옵션은 일부 정적 사이트 생성기(Site Generator)의 기본 구성에 따라 이름이 다를 수 있습니다.

모든 정적 사이트 생성기(SSG)의 기본 설정은 당신의 웹사이트를 (하위)도메인(example.com) 아래에서 찾을 것으로 예상합니다. 따라서 프로젝트 웹사이트(예: namespace.gitlab.io/project-slug)를 게시할 때, 당신은 정적 사이트 생성기의 문서에서 이 구성(base URL)을 찾아 이 패턴을 반영하도록 설정해야 합니다.

예를 들어, Jekyll 사이트의 경우, baseurl은 Jekyll 구성 파일 _config.yml에 정의됩니다. 만약 당신의 웹사이트 URL이 https://john.gitlab.io/blog/이라면, 아래의 줄을 _config.yml에 추가해야 합니다:

baseurl: "/blog"

그러나, GitLab의 기본 예제 중 하나를 포크한 후에 웹사이트를 배포하는 경우, baseurl은 이미 이와 같이 구성되어 있습니다. 왜냐하면 모든 예제가 프로젝트 웹사이트이기 때문입니다. 당신이 사용자 또는 그룹 웹사이트로 만드는 결정을 했다면, 이 구성을 프로젝트에서 제거해야 합니다. 방금 언급한 Jekyll 예제를 위해서는 Jekyll의 _config.yml을 다음처럼 변경해야 합니다:

baseurl: ""

만약 일반 HTML 예제를 사용 중이라면, baseurl을 설정할 필요가 없습니다.

사용자 정의 도메인

GitLab Pages는 HTTP 또는 HTTPS로 제공되는 사용자 정의 도메인 및 서브도메인을 지원합니다. 자세한 정보는 GitLab Pages 사용자 정의 도메인 및 SSL/TLS 인증서을 참조하세요.