GitLab Pages 기본 도메인 이름 및 URL

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

이 문서에서는 GitLab Pages의 웹사이트 URL에 따라 프로젝트 이름을 지정하는 방법을 알아봅니다.

GitLab Pages 기본 도메인 이름

  • GitLab 17.4에서 고유 도메인 URL을 더 짧게 변경했습니다. Changed

자신의 GitLab 인스턴스를 사용하여 GitLab Pages로 사이트를 배포하는 경우, Pages 와일드카드 도메인을 시스템 관리자와 확인하세요. 이 가이드는 GitLab.com의 Pages 와일드카드 도메인(*.gitlab.io)을 사용자 자신의 도메인으로 대체하면 모든 GitLab 인스턴스에 유효합니다.

GitLab에서 GitLab Pages 프로젝트를 설정하면, 자동으로 namespace.example.io의 하위 도메인에서 접근할 수 있습니다.
namespace는 GitLab.com에서의 사용자 이름 또는 이 프로젝트를 생성한 그룹 이름으로 정의됩니다.
GitLab 자체 관리 인스턴스의 경우, 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 서버 도메인으로 교체해야 합니다. 이 정보를 위해 시스템 관리자에게 문의하세요.

URLs 및 base URLs

note
baseurl 옵션은 일부 정적 사이트 생성기에서 다르게 명명될 수 있습니다.

모든 정적 사이트 생성기(SSG)의 기본 구성은
당신의 웹사이트가 (서브)도메인(example.com)에 있어야 하며,
해당 도메인의 서브디렉토리(example.com/subdir)에 있으면 안 됩니다.
따라서 프로젝트 웹사이트(예: namespace.gitlab.io/project-slug)를 게시할 때마다,
이 구성(base URL)을 정적 사이트 생성기의 문서에서 찾아 설정하여
이 패턴을 반영해야 합니다.

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

baseurl: "/blog"

반대로, 우리가 제공하는 기본 예시를 포크한 후 웹사이트를 배포하는 경우,
baseurl은 이미 이와 같이 구성되어 있습니다. 그곳의 모든 예시는 프로젝트 웹사이트입니다.
당신의 웹사이트를 사용자 또는 그룹 웹사이트로 만들기로 결정했다면,
이 구성을 프로젝트에서 제거해야 합니다. 방금 언급한 Jekyll 예시의 경우,
Jekyll의 _config.yml을 다음과 같이 변경해야 합니다:

baseurl: ""

기본 HTML 예제를 사용하는 경우,
baseurl을 설정할 필요가 없습니다.

사용자 정의 도메인

GitLab Pages는 HTTP 또는 HTTPS에서 제공되는 사용자 정의 도메인 및 서브도메인을 지원합니다.

자세한 내용은 GitLab Pages 사용자 정의 도메인 및 SSL/TLS 인증서를 참조하세요.