Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

URL 및 baseurls

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

예를 들어 Jekyll 의 경우 baseurl은 Jekyll 구성 파일인 _config.yml에 정의되어 있다. 웹 사이트 URL이 https://john.gitlab.io/blog/인 경우, _config.yml 에서 아래와 같이 수정 한다.

Code Block
baseurl: "/blog"

반대로, 샘플 프로젝트에서 웹사이트를 포크했다면, 모든 예시들이 프로젝트 웹사이트가 있기 때문에 baseurl은 이미 위와 같이 구성되었을 것이다. 사용자 또는 그룹 웹 사이트를 만들려면 프로젝트에서 이 구성을 제거하여야 한다. 예을 들어 Jekyll 의 경우 _config.yml을 다음과 같이 변경해야 한다.

Code Block
baseurl: ""

GitLab 페이지 탐색

GitLab 페이지 요구 사항

GitLab 페이지에 웹 사이트를 업로드하는 데 필요한 내용은 다음과 같다.

  1. 인스턴스의 도메인 : GitLab 페이지에 사용되는 도메인 이름(관리자에게 문의)

  2. GitLab CI/CD: 리포지토리의 루트 디렉터리에 pages라는 특정 작업이 있는 .gitlab-ci.yml 파일

  3. 사이트의 repo에서 게시할 내용을 포함하는 public이라고 이름지어진 디렉토리

  4. 프로젝트에 사용할 수 있는 GitLab 러너

GitLab.com의 GitLab 페이지

GitLab.com에서 GitLab 페이지를 사용하여 웹 사이트를 호스트하는 경우:

  • GitLab.com의 GitLab 페이지의 도메인 이름은 gitlab.io이다.

  • 사용자 지정 도메인 및 TLS 지원이 가능하다.

  • 공유 러너는 기본적으로 사용 가능하고 무료로 제공되며 웹사이트 구축에 사용할 수 있다. 개별 러너를 등록하여 사용도 가능하다.

사용자 정의 오류 코드 페이지

아티팩트에 포함될 public디렉토리의 루트에 각각 403.html과 404.html 파일을 생성하여 자신만의 403 및 404 오류 페이지를 제공할 수 있다. 일반적으로 이것은 프로젝트의 루트 디렉토리지만, 정적 생성기 구성에 따라 다를 수 있다.

404.html의 경우, 예를 들면 다음과 같다:

  • 프로젝트 페이지( /projectname/에서 제공됨)를 사용하고 /projectname/non/existing_file에 접속하려고 하면 GitLab 페이지가 먼저 /projectname/404.html, 그 다음 /404.html을 제공하려고 시도한다.

  • 사용자/그룹 페이지( /에서 제공됨)를 사용하고 /non/existing_file에 접속하려고 하면 GitLab 페이지가 /404.html를 제공하려고 시도한다.

  • 사용자 지정 도메인을 사용하고 /non/existing_file에 접속하려고 하면 GitLab 페이지는 /404.html만 제공하려고 시도한다.

GitLab 페이지에서 리디렉션

사용자 정의 서버 구성 파일(예: .htaccess 또는 .conf 파일)은 사용할 수 없으므로 페이지를 다른 위치로 리디렉션하려면 HTTP 메타데이터 새로 고침 태그를 사용하여야 한다.

일부 정적 사이트 생성기는 HTML 파일을 수동으로 만들고 편집할 필요가 없도록 해당 기능을 위한 플러그인을 제공한다. 예를 들어, Jekyll은 리디렉션-From 플러그인을 가지고 있다.

GitLab 페이지 액세스 제어

프로젝트 구성원(최소 게스트까지)만 웹 사이트에 액세스할 수 있도록 프로젝트에서 페이지 액세스 제어를 설정할 수 있다.

데모는 페이지 액세스 제어 참조.