GitHub Pages 정보
GitHub Pages는 GitHub Enterprise Cloud의 리포지토리에서 HTML, CSS 및 JavaScript 파일을 직접 가져와서 필요에 따라 빌드 프로세스를 통해 파일을 실행하고 웹 사이트를 게시하는 정적 사이트 호스팅 서비스입니다. GitHub Pages 사이트의 예는 GitHub Pages 예시 컬렉션에서 확인할 수 있습니다.
GitHub의 github.io
도메인 또는 사용자 지정 도메인에서 사이트를 호스트할 수 있습니다. 자세한 내용은 "GitHub Pages 사이트에 대한 사용자 지정 도메인 구성"을(를) 참조하세요.
엔터프라이즈에서 Enterprise Managed Users를 사용하지 않는 한 사이트에 대한 액세스 제어를 관리하여 프로젝트 사이트를 공개 또는 비공개로 게시하도록 선택할 수 있습니다. 자세한 내용은 GitHub Enterprise Cloud 설명서에서 "GitHub Pages 사이트의 표시 유형 변경."
시작하려면 "GitHub Pages 사이트 만들기" 항목을 참조하세요.
조직 소유자는 조직의 리포지토리에서 GitHub Pages 사이트의 게시를 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 "조직의 GitHub Pages 사이트 게시 관리"을(를) 참조하세요.
GitHub Pages 사이트 유형
GitHub Pages 사이트에는 프로젝트, 사용자 및 조직, 이렇게 세 가지 유형이 있습니다. 프로젝트 사이트는 JavaScript 라이브러리 또는 레시피 컬렉션과 같이 GitHub Enterprise Cloud에서 호스트되는 특정 프로젝트에 연결됩니다. 사용자 및 조직 사이트는 GitHub.com의 특정 계정에 연결됩니다.
사용자 사이트를 게시하려면 <username>.github.io
이라는 개인 계정이 소유한 리포지토리를 만들어야 합니다. 조직 사이트를 게시하려면 <organization>.github.io
이라는 조직이 소유한 리포지토리를 만들어야 합니다. 사용자 지정 도메인을 사용하지 않는 한 사용자 및 조직 사이트는 http(s)://<username>.github.io
또는 http(s)://<organization>.github.io
에서 사용할 수 있습니다.
프로젝트 사이트의 원본 파일은 프로젝트와 동일한 리포지토리에 저장됩니다. 사용자 지정 도메인을 사용하지 않는 경우 프로젝트 사이트는 http(s)://<username>.github.io/<repository>
또는 http(s)://<organization>.github.io/<repository>
에서 사용할 수 있습니다.
사이트를 비공개로 게시하는 경우 사이트의 URL이 달라집니다. 자세한 내용은 "GitHub Pages 사이트의 표시 여부 변경"을(를) 참조하세요.
사용자 지정 도메인이 사이트의 URL에 미치는 영향에 대한 자세한 내용은 "사용자 지정 도메인 및 GitHub Pages 정보" 항목을 참조하세요.
GitHub Enterprise Cloud에서 각 계정에 대해 하나의 사용자 또는 조직 사이트만 만들 수 있습니다. 조직 또는 개인 계정이 소유하든 관계 없이 프로젝트 사이트는 무제한입니다.
GitHub Pages 사이트에 대한 원본 게시
경고: 엔터프라이즈에서 Enterprise Managed Users를 사용하지 않는 한, 사이트의 리포지토리가 프라이빗이거나 내부인 경우에도 기본적으로 GitHub Pages 사이트를 인터넷에서 공개적으로 사용할 수 있습니다. 사이트에 대한 액세스 제어를 관리하여 사이트를 비공개로 게시할 수 있습니다. 그렇지 않고 사이트의 리포지토리에 중요한 데이터가 있는 경우 게시하기 전에 데이터를 제거할 수 있습니다. 자세한 내용은 "리포지토리 정보" 및 "GitHub Pages 사이트의 표시 여부 변경"을(를) 참조하세요.
변경 내용이 특정 분기로 푸시될 때 사이트를 게시하거나 GitHub Actions 워크플로를 작성하여 사이트를 게시할 수 있습니다.
사이트의 빌드 프로세스를 제어할 필요가 없는 경우 변경 내용이 특정 분기로 푸시될 때 사이트를 게시하는 것이 좋습니다. 게시 원본으로 사용할 분기 및 폴더를 지정할 수 있습니다. 원본 분기는 리포지토리의 모든 분기일 수 있으며 원본 폴더는 원본 분기에 있는 리포지토리(/
)의 루트이거나 원본 분기의 /docs
폴더일 수 있습니다. 변경 내용이 원본 분기로 푸시될 때마다 원본 폴더의 변경 내용이 GitHub Pages 사이트에 게시됩니다.
Jekyll 이외의 빌드 프로세스를 사용하거나 전용 분기에서 컴파일된 정적 파일을 보관하지 않으려면 GitHub Actions 워크플로를 작성하여 사이트를 게시하는 것이 좋습니다. GitHub Enterprise Cloud은(는) 워크플로 작성에 도움이 되는 일반적인 게시 시나리오에 대한 워크플로 템플릿을 제공합니다.
자세한 내용은 "GitHub Pages 사이트에 대한 게시 원본 구성"을(를) 참조하세요.
Enterprise Managed Users에 대한 제한 사항
관리형 사용자 계정인 경우 GitHub Pages의 사용이 제한됩니다.
- GitHub Pages 사이트는 조직이 소유한 리포지토리에서만 게시할 수 있습니다.
- GitHub Pages 사이트는 항상 비공개로 게시되며 이 표시 유형을 변경할 수 없습니다. 자세한 내용은 "GitHub Pages 사이트의 표시 여부 변경"을(를) 참조하세요.
- 조직 사이트(이름이
<organization>.github.io
인 리포지토리에서 게시된 사이트)를 만들 수 없습니다
Enterprise Managed Users에 대한 자세한 내용은 "Enterprise Managed Users 정보" 항목을 참조하세요.
정적 사이트 생성기
GitHub Pages는 리포지토리에 푸시하는 정적 파일을 게시합니다. 사용자 고유의 정적 파일을 만들거나 정적 사이트 생성기를 사용하여 자동으로 사이트를 빌드할 수 있습니다. 로컬 또는 다른 서버에서 사용자 고유의 빌드 프로세스를 사용자 지정할 수도 있습니다.
사용자 지정 빌드 프로세스 또는 Jekyll 이외의 정적 사이트 생성기를 사용하는 경우 GitHub Actions을(를) 작성하여 사이트를 빌드하고 게시할 수 있습니다. GitHub Enterprise Cloud은(는) 여러 정적 사이트 생성기에 대한 워크플로 템플릿을 제공합니다. 자세한 내용은 "GitHub Pages 사이트에 대한 게시 원본 구성"을(를) 참조하세요.
원본 분기에서 사이트를 게시하는 경우 GitHub Pages은(는) Jekyll을 사용하여 기본적으로 사이트를 빌드합니다. Jekyll 이외의 정적 사이트 생성기를 사용하려면 GitHub Actions을(를) 작성하여 사이트를 빌드하고 게시하는 것이 좋습니다. 그렇지 않으면 게시 원본의 루트에서 .nojekyll
이라는 빈 파일을 만들어 Jekyll 빌드 프로세스를 사용하지 않도록 설정한 다음 정적 사이트 생성기의 지침에 따라 사이트를 로컬로 빌드합니다.
GitHub Pages에서는 PHP, Ruby 또는 Python과 같은 서버 쪽 언어를 지원하지 않습니다.
GitHub Pages의 사용 제한
GitHub Pages 사이트는 2016년 6월 15일 이후에 만들었으며 github.io
도메인 사용은 HTTPS를 통해 제공됩니다. 2016년 6월 15일 이전에 사이트를 만든 경우 사이트로의 트래픽에 대해 HTTPS 지원을 사용하도록 설정할 수 있습니다. 자세한 내용은 "HTTPS를 사용하여 GitHub Pages 사이트 보호"을(를) 참조하세요.
허용되지 않는 사용
GitHub Pages는 온라인 비즈니스, 전자 상거래 사이트 또는 상업적 거래를 촉진하거나 SaaS(Software as a Service)를 제공하는 데 주로 사용되는 다른 웹 사이트를 실행하기 위한 무료 웹 호스팅 서비스로 사용할 수 없습니다. GitHub Pages 사이트는 암호 또는 신용 카드 번호 전송과 같은 중요한 트랜잭션에 사용하면 안 됩니다.
또한 GitHub Pages의 사용에는 풍부한 구성표, 외설적인 콘텐츠, 폭력적이거나 위협적인 콘텐츠 또는 활동에 대한 제한을 포함하여 GitHub 서비스 약관이 적용됩니다.
교육 연습
GitHub Pages을(를) 사용하여 학습 연습으로 기존 웹 사이트의 복사본을 만드는 것은 금지되지 않습니다. 그러나 GitHub 서비스 약관을 준수하는 것 외에도 코드는 직접 작성해야 하고, 사이트에서 사용자 데이터를 수집해서는 안 되며, 프로젝트가 원본과 관련이 없으며 교육 목적으로만 만들어졌음을 나타내는 눈에 띄는 고지 사항을 사이트에 포함해야 합니다.
사용 제한
GitHub Pages 사이트에는 다음과 같은 사용 제한이 적용됩니다.
-
GitHub Pages 소스 리포지토리의 권장 제한은 1GB입니다. 자세한 내용은 "GitHub의 대용량 파일 정보" 항목을 참조하세요.
-
게시된 GitHub Pages 사이트는 1GB 이하일 수 있습니다.
-
GitHub Pages 배포는 10분 이상 걸리는 경우 시간 초과됩니다.
-
GitHub Pages 사이트에는 매월 100GB의 소프트 대역폭 제한이 있습니다.
-
GitHub Pages 사이트에는 매시간 10개 빌드로 소프트 제한이 있습니다. 사용자 지정 GitHub Actions 워크플로를 사용하여 사이트를 빌드하고 게시하는 경우에는 이 한도가 적용되지 않습니다.
-
모든 GitHub Pages 사이트에 일관된 서비스 품질을 제공하기 위해 속도 제한이 적용될 수 있습니다. 이러한 속도 제한은 GitHub Pages의 합법적인 사용을 방해하기 위한 것이 아닙니다. 요청이 속도 제한을 트리거하는 경우 정보를 제공하는 HTML 본문과 함께 HTTP 상태 코드가
429
인 적절한 응답을 받게 됩니다.
사이트가 이러한 사용 할당량을 초과하면 사이트를 제공하지 못하거나 GitHub 지원에서 사이트 앞에 타사 CDN(Content Distribution Network)을 배치하거나, 릴리스와 같은 다른 GitHub 기능을 사용하거나, 요구 사항에 더 잘 맞는 다른 호스팅 서비스로 이동하는 등 사이트에 미치는 영향을 줄이기 위한 전략을 제안하는 친절한 메일을 받을 수 있습니다.
GitHub Pages의 MIME 형식
MIME 형식은 서버가 브라우저로 보내는 헤더로, 브라우저에서 요청한 파일의 특성 및 형식에 대한 정보를 제공합니다. GitHub Pages는 수천 개의 파일 확장명 중 750개 이상의 MIME 형식을 지원합니다. 지원되는 MIME 형식 목록은 mime-db 프로젝트에서 생성됩니다.
파일별 또는 리포지토리별로 사용자 지정 MIME 형식을 지정할 수는 없지만 GitHub Pages에서 사용할 MIME 형식을 추가하거나 수정할 수 있습니다. 자세한 내용은 mime-db 기여 지침.
추가 참고 자료
- GitHub Skills의 GitHub Pages
- "리포지토리에 대한 REST API 엔드포인트"