GitLab Pages 기본 도메인 이름 및 URL
이 문서에서는 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.io
를 gitlab.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 인증서을 참조하세요.