GitHub Pages 정보
GitHub Pages는 GitHub의 리포지토리에서 HTML, CSS 및 JavaScript 파일을 직접 가져와서 필요에 따라 빌드 프로세스를 통해 파일을 실행하고 웹 사이트를 게시하는 정적 사이트 호스팅 서비스입니다. GitHub Pages 사이트의 예는 GitHub Pages 예제 컬렉션에서 확인할 수 있습니다.
GitHub의 github.io
도메인 또는 사용자 지정 도메인에서 사이트를 호스트할 수 있습니다. 자세한 정보는 "GitHub Pages 사이트에 대한 사용자 지정 도메인 구성"을(를) 참조하세요.
인터넷에서 공개적으로 사용할 수 있는 GitHub Pages 사이트를 만들 수 있습니다. GitHub Enterprise Cloud를 사용하는 조직은 사이트에 대한 액세스 제어를 관리하여 사이트를 비공개로 게시할 수도 있습니다. 자세한 내용은 GitHub Enterprise Cloud 설명서에서 "GitHub Pages 사이트의 표시 유형 변경"을 참조하세요.
시작하려면 "GitHub Pages 사이트 만들기"을(를) 참조하세요.
조직 소유자는 조직의 리포지토리에서 GitHub Pages 사이트의 게시를 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 "조직의 GitHub Pages 사이트 게시 관리"을(를) 참조하세요.
GitHub Pages 사이트 유형
GitHub Pages 사이트에는 프로젝트, 사용자 및 조직, 이렇게 세 가지 유형이 있습니다. 프로젝트 사이트는 JavaScript 라이브러리 또는 레시피 컬렉션과 같이 GitHub에서 호스트되는 특정 프로젝트에 연결됩니다. 사용자 및 조직 사이트는 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 정보"을(를) 참조하세요.
GitHub에서 각 계정에 대해 하나의 사용자 또는 조직 사이트만 만들 수 있습니다. 조직 또는 개인 계정이 소유하든 관계 없이 프로젝트 사이트는 무제한입니다.
GitHub Pages 사이트에 대한 원본 게시
경고: 사이트의 리포지토리가 프라이빗인 경우에도 GitHub Pages 사이트는 인터넷에서 공개적으로 사용할 수 있습니다(해당 요금제 또는 조직에서 허용하는 경우). 사이트의 리포지토리에 중요한 데이터가 있는 경우 게시하기 전에 데이터를 제거할 수 있습니다. 자세한 내용은 "리포지토리 정보"을(를) 참조하세요.
변경 내용이 특정 분기로 푸시될 때 사이트를 게시하거나 GitHub Actions 워크플로를 작성하여 사이트를 게시할 수 있습니다.
사이트의 빌드 프로세스를 제어할 필요가 없는 경우 변경 내용이 특정 분기로 푸시될 때 사이트를 게시하는 것이 좋습니다. 게시 원본으로 사용할 분기 및 폴더를 지정할 수 있습니다. 원본 분기는 리포지토리의 모든 분기일 수 있으며 원본 폴더는 원본 분기에 있는 리포지토리(/
)의 루트이거나 원본 분기의 /docs
폴더일 수 있습니다. 변경 내용이 원본 분기로 푸시될 때마다 원본 폴더의 변경 내용이 GitHub Pages 사이트에 게시됩니다.
Jekyll 이외의 빌드 프로세스를 사용하거나 전용 분기에서 컴파일된 정적 파일을 보관하지 않으려면 GitHub Actions 워크플로를 작성하여 사이트를 게시하는 것이 좋습니다. GitHub은(는) 워크플로를 작성하는 데 도움이 되는 일반적인 게시 시나리오를 위한 시작 워크플로를 제공합니다.
자세한 내용은 "GitHub Pages 사이트에 대한 게시 원본 구성"을(를) 참조하세요.
정적 사이트 생성기
GitHub Pages는 리포지토리에 푸시하는 정적 파일을 게시합니다. 사용자 고유의 정적 파일을 만들거나 정적 사이트 생성기를 사용하여 자동으로 사이트를 빌드할 수 있습니다. 로컬 또는 다른 서버에서 사용자 고유의 빌드 프로세스를 사용자 지정할 수도 있습니다.
사용자 지정 빌드 프로세스 또는 Jekyll 이외의 정적 사이트 생성기를 사용하는 경우 GitHub Actions을(를) 작성하여 사이트를 빌드하고 게시할 수 있습니다. GitHub은(는) 여러 정적 사이트 생성기에 대한 시작 워크플로를 제공합니다. 자세한 내용은 "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 Pages 사이트를 방문하면 방문자가 GitHub에 로그인했는지 여부에 관계없이 보안 목적으로 방문자의 IP 주소가 기록되고 저장됩니다. GitHub의 보안 사례에 대한 자세한 내용은 GitHub 개인정보처리방침을 참조하세요.
추가 참고 자료
- GitHub Skills의 GitHub Pages
- "리포지토리에 대한 REST API 엔드포인트"